Programación con Python. Curso para Ciencias e Ingeniería
Sinopsis del producto
Título: Programación con Python
Subtítulo: Curso para Ciencias e Ingeniería
ISBN: 9786075764801
ISBN ebook: 9786075764818
Autor: Alberto Lira, Roberto Enrique
Edición 1ra.
Año: 2026
Editorial: Alfaomega
Encuadernación: Rústica
Medida: 150 x 220 mm.
Páginas: 342
Lomo:13,8 mm
Peso: 690gr
Colores interior: Uno
Idioma: español
Nivel: Intermedio
Área: Tecnología
Subárea: Programación
Este libro de texto está diseñado para los cursos de programación que se imparten en las áreas de ciencias básicas e ingeniería, y se destaca por su detallada exposición de la teoría y por la sistemática presentación de ejemplos de aplicación de la misma. Además de presentar los fundamentos tanto de algoritmos como de Python, incluye la exposición de los siguientes temas: Estructuras de control. Cadenas de caracteres. Listas, tuplas, diccionarios y conjuntos. Funciones. Arreglos. Manejo de excepciones. Introducción a Tkinter. Graficación con Python. Finalmente en los apéndices se describe la instalación de Spyder, Python y Visual Studio Code así como del paquete Matplotlib.
Roberto Enrique Alberto Lira
Es licenciado en computación por la Universidad Juárez Autónoma de Tabasco y maestro en ciencias en computación por el Centro de Investigación y de Estudios Avanzados del Instituto Politécnico Nacional con la tesis “Mecanismo de remodelación semi-plástica adaptativa para interfaces colaborativas”. En sus más de 10 años de experiencia profesional ha impartido varios cursos relacionados con ciencias en computación en diversas carreras de instituciones públicas en el país. Por mencionar algunas instituciones: Escuela Superior de Cómputo del Instituto Politécnico Nacional (ESCOM I.P.N) y Universidad Juárez Autónoma de Tabasco. En esta última institución participó en la comisión académica de acreditación de la Licenciatura en Ciencias en Computación ante el Consejo Nacional de Acreditación en Informática y Computación, A. C.
Prefacio XIII
Convenciones XV
- Fundamentos de Python 1
1.1. Introducción . . . . . . . .. . . . . . . . . . . . . . . . 2
1.2. Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Identificadores . . . . . .. . . . . . . . . . . . . . . . 3
1.3.1. Constante . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2. Variables . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.1. El zen de Python . . . . . . . . . . . . . . . . . . 6
1.4.2. Variables . . . . . . . . . . . . . . . . . . . . . . 7
1.4.3. Operadores . . . . . . . . . . . . . . . . . . . . . 8
1.4.4. Jerarquía de operadores . . . . . . . . . . 12
1.4.5. Palabras reservadas . . . . . . . . . . . . . . 14
1.4.6. Comentarios . . . . . . . . . . . . . . . . . . . . 14
1.4.7. Breve introducción a las funciones en Python . . 15
1.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . 17
- Estructuras de control 21
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . 22
2.2. Estructuras secuenciales . . . . . . . . . . . . 22
2.2.1. Ejemplo: Suma de dos números . . . . 23
2.2.2. Ejemplo: Perímetro de un rectángulo .23
2.2.3. Ejemplo: Cálculo del índice de masa corporal (IMC) . . . . . . . . . . . . . . 24
2.2.4. Ejemplo: Convierte temperatura de Celsius a Fahrenheit . . . . . . . . . . . . . . . . . . . 25
2.2.5. Ejemplo: Cálculo de oxígeno en una reacción química . . . . . . . . . . . . . . . . . . . . . . 26
2.3. Estructuras selectivas . . . . . . . . . . . . . . 27
2.3.1. Ejemplo: Mayor de edad . . . . . . . . . . 28
2.3.2. Ejemplo: Simulando el operador and ..28
2.3.3. Ejemplo: Mezcla de concreto . . . . . . . 30
2.3.4. Ejemplo: Tienda de celulares . . . . . . . 31
2.3.5. Ejemplo: Clasificación de pH . . . . . . . 33
2.3.6. Ejemplo: Calculadora básica . . . . . . . . 34
2.4. Estructuras repetitivas . . . . . . . . .. . . . . 35
2.4.1. Ejemplo: Fibonacci . . . . . . . .. . . . . . . 37
2.4.2. Ejemplo: Número primo . . . . . . . . . . 39
2.4.3. Ejemplo: Máximo común divisor . . ... 41
2.4.4. Ejemplo: Movimiento de un péndulo simple . . . 43
2.4.5. Ejemplo: Dibujando triángulo numérico . 46
2.4.6. Instrucciones: break y continue . . . . . .47
2.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . 49
- Cadenas 53
3.1. Introducción . . . . . . . . . . . . . . .. . . . . . . . 54
3.2. Índices y slices . . . . . . . . . . . . . . . . . . . . 54
3.3. Longitud de una cadena . . . . . . . . . . . . . 57
3.4. Métodos para cadenas . . . . . . . . . . . . . . 58
3.4.1. Método upper . . . . . . . . . . . . . . . . . . . 58
3.4.2. Método lower . . . . . . . . . . . . . . . . . . . . 58
3.4.3. Método count . . . . . . . . . . . . . . . . . . . . 59
3.4.4. Método find . . . . . . . . . . . . . . . . . . . . . 59
3.4.5. Método islower . . . . . . . . . . . . . . . . . . . 60
3.4.6. Método startswith . . . . . . . . . . . . . . . . 60
3.4.7. Método endswith . . . . . . . . . . . . . . . . . 60
3.4.8. Método split . . . . . . . . . . . . . . . . . . . . 61
3.4.9. Método join . . . . . . . . . . . . . . . . . . . . . 61
3.4.10. Método replace . . . .. . . . . . . . . . . . . . 62
3.4.11. Método isdigit . . . . . . . . . . . . . . . . . . . 62
3.5. Operador in en cadenas . . . . . . . .. . . . . . 62
3.6. Recorrido de una cadena . . . . . . . . . .. . . 63
3.7. Ejemplo: Caracteres duplicados . . . . . . . 64
3.8. Ejemplo: Eliminando vocales . . . . . . . . . . 65
3.9. Ejemplo: Palíndromos . . . . . . . . . . . . 66
3.10. Ejemplo: Cuenta dígitos . . . . . . . . . . . . 67
3.11. Ejemplo: Cálculo de longitud de una cadena cinemática 68
3.12. Ejemplo: Clasificación de materiales por dureza . . . . . 70
3.13. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . 72
- Listas, tuplas, diccionarios y conjuntos 75
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . 76
4.2. Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.2.1. Manejo de listas . . . . . . . . . . . . . . . . . . 77
4.2.2. Ejemplo: Sumar elementos de una lista . . . 87
4.2.3. Ejemplo: Ordenar palabras por tamaño . . . . . 88
4.2.4. Ejemplo: Encontrar el k-ésimo elemento más grande de una lista . .89
4.2.5. Ejemplo: Control de calidad en una línea de producción . . . . . . . . . . . . . . . . . . . . . . 90
4.3. Tuplas . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3.1. Manejo de tuplas . . . . . . . . . . . . . . . . . 92
4.3.2. Ejemplo: Acceso a elementos de una tupla . . . . 96
4.3.3. Ejemplo: Encontrar el valor máximo y mínimo en una tupla . . . . . . . . . . . . . . . . . . . . 97
4.3.4. Ejemplo: Desempaquetar tuplas . . . . . 98
4.4. Diccionarios . . . . . . . . . . . . . . . . . . . . . . . 98
4.4.1. Manejo de diccionarios . . . . . . . . . . . . 99
4.4.2. Ejemplo: Contar frecuencia de palabras en texto 106
4.4.3. Ejemplo: Libros más vendidos . . . . . . 108
4.4.4. Ejemplo: Mapa curricular de una carrera . . . 108
4.4.5. Ejemplo: Seguimiento de la calidad del aire . . . 110
4.5. Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . 112
4.5.1. Manejo de conjuntos . . . . . . . . . . . . . 112
4.5.2. Ejemplo: Eliminar elementos duplicados . . . . . 118
4.5.3. Ejemplo: Intereses comunes . . . . . . . 119
4.5.4. Ejemplo: Asignaturas no comunes . . . 120
4.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . 121
- Funciones 125
5.1. Introducción . . . . . . . . . . . . . . . . . .. . . . . 126
5.2. Argumentos y parámetros . . . . . . . . . . . 126
5.3. Tipos de argumentos . . . . . . . . . . . . . . . 127
5.4. Funciones recursivas . . . .. . . . . . . . . . . . 129
5.4.1. Función recursiva sin retorno . . . . . . . 130
5.4.2. Función recursiva con retorno . . . . . 131
5.4.3. Ejemplo: Números de Catalan . . . . . . 132
5.5. Funciones lambda . . . . . . . . . . . . . . . . . . 133
5.6. Funciones de orden superior . . . . . . . . . 134
5.6.1. map . . . . . . . . . . . . . . . . . . . . . . . . 134
5.6.2. filter . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.7. Ejemplo: Convierte cadenas a enteros . 136
5.8. Ejemplo: Celsius a Fahrenheit . . . . . . . . 136
5.9. Ejemplo: Filtrar palabras por tamaño ... 137
5.10. Ejemplo: Filtrar palíndromos . . . . . . . . 138
5.11. Ejemplo: Torres de Hanoi . . . . . . . . .. . 139
5.12. Ejercicios . . . . .. . . . . . . . . . . . . . . . . . . 141
- Arreglos 145
6.1. Introducción . . . . . . . . . . . . . . . . . . . . . 146
6.2. Arreglos de una dimensión . . . . . .. . . . . 146
6.2.1. Ejemplo: Histograma . . . . . . . . . . . . . . 147
6.2.2. Ejemplo: Cálculo de torque en un sistema de fuerzas . . . . . . . . . . . . . . . . . . . . . . . . 148
6.3. Arreglos de dos dimensiones . . . . . . . . . 150
6.3.1. Recorrido de arreglos de dos dimensiones . 150
6.3.2. Ejemplo: Calculo de la moda de una matriz . . . 153
6.3.3. Ejemplo: Triángulo de Pascal . . . . . . . 154
6.3.4. Ejemplo: Simulando el juego de las torres de Hanoi 156
6.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . 163
- Algoritmos y técnicas de programación avanzada 167
7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . 168
7.2. Técnica voraz . . . . . . . . . . . . . .. . . . . . . 168
7.2.1. Ejemplo: Cambio de monedas . . . . . . 169
7.2.2. Ejemplo: Selección de actividades . . . 171
7.3. Backtracking . . . . . . . . . .. . . . . . . . . . . . . 173
7.3.1. Ejemplo: Sudoku . . . . .. . . . . . . . . . . . . 173
7.3.2. Ejemplo: Resolviendo el juego de palabras cruzadas . . . . . . . . . . . . . . . . . . . . . 178
7.3.3. Ejemplo: Permutaciones . . . . . . . . . . . 181
7.4. Programación dinámica . . . . . . . . . . . . . 184
7.4.1. Ejemplo: Cambio de monedas . . . . . . 185
7.4.2. Ejemplo: Sucuencia Fibonacci . . . . . . 187
7.5. Ejercicios . . . . . . . . . . . . . .. . . . . . . . . . . 189
- Manejo de excepciones en Python 193
8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . 194
8.2. Bloque try y except . . . . . . . . . . . . . . . . . 195
8.3. Excepciones más comunes en Python .. 196
8.4. Múltiples excepciones . . . . . . . . . . . . . . 202
8.5. Instrucción else en excepciones . . . . .. . 202
8.6. Instrucción finally . . . . . . . . . . . . . . . . . 203
8.7. Raising exceptions . . . . . . . . . . .. . . . . . . 204
8.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . 205
- Archivos en Python 209
9.1. Introducción . . . . . . . . . . . . . . . . . . . . . . 210
9.2. Archivos de texto .. . . . . . . . . . . . . . . . . . 211
9.2.1. Abrir y cerrar archivos . . . . . . . . . . . . . 211
9.2.2. Lectura de archivos . . . . . . . . . . . . . . . 212
9.2.3. Escritura en archivos . . . . . . . . . . . . . . 215
9.3. Archivos binarios . . . . . . . . . . . . . . . . . . 216
9.4. Moverse dentro de un archivo . . . . . . . 218
9.4.1. Método tell . . . . . . . . . . . . . . . . . . . . . 221
9.5. Lectura y Escritura en Archivos CSV . . 222
9.6. Lectura y Escritura de Archivos JSON . . 225
9.7. Manejo de excepciones en archivos . . 228
9.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . .. . 229
10.Introducción a la librería Tkinter 233
10.1. Introducción . . . . . . . . . . . . . . . . . . . . . 234
10.2. Ventana principal . . . . . . . . . . . . . . . . . 235
10.2.1. Personalización de la ventana . . . . . 236
10.3. Widgets principales . . . . . . . . . . .. . . . . 238
10.4. Introducción a los menús en Tkinter .. 243
10.5. Organización de Widgets (Layout) . . . 246
10.5.1. Método pack() . . . . . . . . . . . . . . . . . 246
10.5.2. Método grid() . . . . . . . . . . . . . . . . . . 248
10.5.3. Método place() . . . . . . . .. . . . . . . . . . 249
10.5.4. Conclusión del uso de layouts . . . . . 251
10.6. Ejemplo calculadora . . . . . . . . . . . . . . 251
10.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . 255
11.Introducción a la graficación en Python 257
11.1. Introducción . . . . . .. . . . . . . . . . . . . . . . 258
11.2. Creación de gráficas sencillas . . . . . . . 258
11.2.1. Gráfica de líneas . . . . . . . . . . . . . . . . 259
11.2.2. Gráfica de barras . . . . . . . . . . . . . . . 260
11.2.3. Gráfica de dispersión . . . . . .. . . . . . . 261
11.2.4. Gráfica de pastel . . . . . . . . . . . . . . . . 262
11.3. Subplots: múltiples gráficas en una
figura . 264
11.4. Gráfica de superficie 3D . . . . . . . .. . . . 266
11.5. Ejemplo: Gráfica de una ecuación . . .. 268
11.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . 272
12.Dos ejemplos selectos aplicados a Ciencias en Computación 275
12.1. Introducción . . . . . . . . . . . . . . . . . . . . . 276
12.2. Movimientos mínimos de un caballo en el tablero de ajedrez . .. . . . . . . . . . . . . . . . . . . . 276
12.2.1. Breve introducción a los grafos . . . . .278
12.2.2. Breve introducción a las clases en Python . . . . 279
12.2.3. Representación de un grafo con clases de Python 280
12.2.4. Búsqueda en amplitud . . . . . . . . . . . 281
12.2.5. Solución al ejemplo de esta sección. 283
12.3. Reconocedor de palabras . . .. . . . . . . . 287
12.3.1. Introducción . . . . . . . . . .. . . . . . . . . . 287
12.3.2. Autómatas Finitos Deterministas . . 288
12.3.3. Solución al reconocedor de palabras 290
- Instalación de Spyder, Python y Visual Studio Code 295
A.1. Introducción . . . . . . . . . . . . . . . . . . . . . . 296
A.2. IDE Spyder . . . . . .. . . . . . . . . . . . . . . . . . 296
A.2.1. Instalación de Spyder . . . . . . . . . . . . 296
A.2.2. Ejecución de programas . . . . . . . . . . . 299
A.3. Instalación de Python . . . . . . . . . . . . . . 302
A.4. Visual Studio Code . . . . . . . . . . . . . . . . . 304
A.4.1. Instalación de VS Code . . . . . . . . . . . . 304
A.4.2. Configuración básica para usar Python en Visual Studio Code . . . . . . . . . . . . . . . . . . . . . 307
A.4.3. Ejecución de programas . . . . . . . . . . . 307
- Instalación del paquete matplotlib 315
B.1. Introducción . . . .. . . . . . . . . . . . . . . . . . . 316
B.2. MSVC Runtime . .. . . . . . . . . . . . . . . . . . . 316
B.3. Entornos virtuales . . . . . . . . . . . . . . . . . 316
B.3.1. Creación de entornos virtuales . . . .. . 317
B.4. Instalación de matplotlib . . . . . . . . . . . . 318
B.5. Ejecución de un programa de ejemplo . 318
Bibliografía 321
Índice analítico 323
9786075764801
$58.000,00 $49.300,00 -15%
99999 disponibles
Especificaciones
Quizás te interese
¿Ya lo leíste? Valorá “Programación con Python. Curso para Ciencias e Ingeniería”
Debes acceder para publicar una valoración.




Valoraciones
No hay valoraciones aún.