PDF de programación - Introducción a la programación con Python

Imágen de pdf Introducción a la programación con Python

Introducción a la programación con Pythongráfica de visualizaciones

Actualizado el 28 de Junio del 2021 (Publicado el 29 de Abril del 2018)
1.630 visualizaciones desde el 29 de Abril del 2018
3,0 MB
399 paginas
Creado hace 20a (22/09/2003)
Introducción a la programación

con Python

Andrés Marzal

Isabel Gracia

Departamento de Lenguajes y Sistemas Informáticos

Universitat Jaume I

c 2003 de Andrés Marzal Varó e Isabel Gracia Luengo. Reservados todos los derechos.
Esta ((Edición Internet)) se puede reproducir con fines autodidactas o para su uso en
centros públicos de enseñanza, exclusivamente. En el segundo caso, únicamente se car-
garán al estudiante los costes de reproducción. La reproducción total o parcial con ánimo
de lucro o con cualquier finalidad comercial está estrictamente prohibida sin el permiso
escrito de los autores.

Índice general

1. Introducción

1.1. Computadores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Codificación de la información . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Programas y lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . .

5
5
6
9
1.3.1. Código de máquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.2. Lenguaje ensamblador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.3. ¿Un programa diferente para cada ordenador? . . . . . . . . . . . . . . . . 12
1.3.4. Lenguajes de programación de alto nivel . . . . . . . . . . . . . . . . . . . 14
1.3.5. Compiladores e intérpretes
. . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.6. Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.7. C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
. . . . . . . . . . . . . . . . . . . . . . . . 17

1.4. Más allá de los programas: algoritmos

2. Una calculadora avanzada

2.2. Tipos de datos

23
2.1. Sesiones interactivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.1. Los operadores aritméticos
. . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.2. Errores de tecleo y excepciones . . . . . . . . . . . . . . . . . . . . . . . . 30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.1. Enteros y flotantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.2. Valores lógicos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3. Operadores lógicos y de comparación . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4. Variables y asignaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.1. Asignaciones con operador . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.2. Variables no inicializadas
. . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5. El tipo de datos cadena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.6. Funciones predefinidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.7. Funciones definidas en módulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.7.1. El módulo math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.7.2. Otros módulos de interés
. . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.8. Métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3. Programas

53
3.1. El entorno PythonG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2. Ejecución de programas desde la línea de órdenes Unix . . . . . . . . . . . . . . . 57
3.3. Entrada/salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.1. Lectura de datos de teclado . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.2. Más sobre la sentencia print . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.3.3. Salida con formato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.4.1. Algunas claves para aumentar la legibilidad . . . . . . . . . . . . . . . . . 65
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.4.2. Comentarios
3.5. Gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.4. Legibilidad de los programas

Introducción a la Programación con Python

i

ÍNDICE GENERAL

2003/09/22-16:04

4. Estructuras de control

75
4.1. Sentencias condicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.1.1. Un programa de ejemplo: resolución de ecuaciones de primer grado . . . . 75
4.1.2. La sentencia condicional if
. . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.1.3. Trazas con PythonG: el depurador . . . . . . . . . . . . . . . . . . . . . . 79
4.1.4. Sentencias condicionales anidadas . . . . . . . . . . . . . . . . . . . . . . . 81
4.1.5. Otro ejemplo: resolución de ecuaciones de segundo grado . . . . . . . . . . 83
4.1.6. En caso contrario (else) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.1.7. Una estrategia de diseño: refinamientos sucesivos . . . . . . . . . . . . . . 87
4.1.8. Un nuevo refinamiento del programa de ejemplo . . . . . . . . . . . . . . 88
4.1.9. Otro ejemplo: máximo de una serie de números . . . . . . . . . . . . . . . 90
4.1.10. Evaluación con cortocircuitos . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.1.11. Un último problema: menús de usuario . . . . . . . . . . . . . . . . . . . . 96
4.1.12. Una forma compacta para estructuras condicionales múltiples (elif)
. . . 98
4.2. Sentencias iterativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.2.1. La sentencia while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.2.2. Un problema de ejemplo: cálculo de sumatorios . . . . . . . . . . . . . . . 103
4.2.3. Otro programa de ejemplo: requisitos en la entrada . . . . . . . . . . . . . 104
4.2.4. Mejorando el programa de los menús . . . . . . . . . . . . . . . . . . . . . 106
4.2.5. El bucle for-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
for-in como forma compacta de ciertos while . . . . . . . . . . . . . . . 112
4.2.6.
4.2.7. Números primos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.2.8. Rotura de bucles: break . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4.2.9. Anidamiento de estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.3. Captura y tratamiento de excepciones . . . . . . . . . . . . . . . . . . . . . . . . 121
4.4. Algunos ejemplos gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.4.1. Un graficador de funciones
. . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.4.2. Una animación: simulación gravitacional . . . . . . . . . . . . . . . . . . . 128
4.4.3. Un programa interactivo: un videojuego . . . . . . . . . . . . . . . . . . . 134
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

4.5. Una reflexión final

5. Tipos estructurados: secuencias

5.2. Listas

145
5.1. Cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.1.1. Lo que ya sabemos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.1.2. Escapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.1.3. Longitud de una cadena . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.1.4.
Indexación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.1.5. Recorrido de cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.1.6. Un ejemplo: un contador de palabras . . . . . . . . . . . . . . . . . . . . . 152
5.1.7. Otro ejemplo: un programa de conversión de binario a decimal
. . . . . . 157
5.1.8. A vueltas con las cadenas: inversión de una cadena . . . . . . . . . . . . . 158
5.1.9. Subcadenas: el operador de corte . . . . . . . . . . . . . . . . . . . . . . . 160
5.1.10. Una aplicación: correo electrónico personalizado
. . . . . . . . . . . . . . 162
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
5.1.11. Referencias a cadenas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
5.2.1. Cosas que, sin darnos cuenta, ya sabemos sobre las listas
. . . . . . . . . 170
5.2.2. Comparación de listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.2.3. El operador is
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.2.4. Modificación de elementos de listas . . . . . . . . . . . . . . . . . . . . . . 175
5.2.5. Mutabilidad, inmutabilidad y representación de la información en memoria176
5.2.6. Adición de elementos a una lista . . . . . . . . . . . . . . . . . . . . . . . 178
5.2.7. Lectura de listas por teclado . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.2.8. Borrado de elementos de una lista . . . . . . . . . . . . . . . . . . . . . . 182
5.2.9. Pertenencia de un elemento a una lista . . . . . . . . . . . . . . . . . . . . 185
5.2.10. Ordenación de una lista . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.3. De cadenas a listas y viceversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
5.4. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.4.1. Sobre la creación de matrices . . . . . . . . . . . . . . . . . . . . . . . . . 194
5.4.2. Lectura de matrices
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

ii

Introducción a la Programación con Python

c 2003 Andrés Marzal e Isabel Gracia

0 ÍNDICE GENERAL

5.4.3. ¿Qué dimensión tiene una matriz? . . . . . . . . . . . . . . . . . . . . . . 197
5.4.4. Operaciones con matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.4.5. El juego de la vida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

5.5. Una reflexión final

6. Funciones

211
6.1. Uso de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • Links de descarga
http://lwp-l.com/pdf10710

Comentarios de: Introducción a la programación con Python (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad