PDF de programación - Taller de Herramientas Computacionales

Imágen de pdf Taller de Herramientas Computacionales

Taller de Herramientas Computacionalesgráfica de visualizaciones

Publicado el 26 de Agosto del 2020
1.121 visualizaciones desde el 26 de Agosto del 2020
5,8 MB
515 paginas
Creado hace 1a (12/05/2020)
Taller de Herramientas Computacionales

Antonio Carrillo Ledesma y Karla Ivonne GonzÆlez Rosas

Facultad de Ciencias, UNAM

http://academicos.fciencias.unam.mx/antoniocarrillo

Una copia de este trabajo se puede descargar de la pÆgina:

http://132.248.182.159/acl/thc/

http://132.248.182.159/acl/Textos/

Connamiento 2020, Versin 1.01

1El presente trabajo estÆ licenciado bajo un esquema Creative Commons
Atribucin CompartirIgual (CC-BY-SA) 4.0 Internacional. Los textos que compo-
nen el presente trabajo se publican bajo formas de licenciamiento que permiten la
copia, la redistribucin y la realizacin de obras derivadas siempre y cuando Østas
se distribuyan bajo las mismas licencias libres y se cite la fuente. ¡Copia este libro!
... Compartir no es delito.

Taller de Herramientas Computacionales

˝ndice

1 Introduccin

1.2 El Cmputo en las Carreras de Ciencias

1.1 Software Propietario y Libre . . . . . . . . . . . . . . . . . . .
1.1.1 Software Propietario . . . . . . . . . . . . . . . . . . .
1.1.2 Software Libre . . . . . . . . . . . . . . . . . . . . . . .

6
6
7
8
. . . . . . . . . . . . 10
1.2.1 Algunos Cursos que Usan Cmputo . . . . . . . . . . . 13
1.3 Paquetes de Cmputo de Uso Comœn . . . . . . . . . . . . . . 16
1.3.1 Sistemas Operativos
. . . . . . . . . . . . . . . . . . . 19
1.3.2 MÆquinas Virtuales . . . . . . . . . . . . . . . . . . . . 20
1.3.3 Lenguajes de Programacin y Entornos de Desarrollo . 20
1.3.4 Paquetes de CÆlculo NumØrico . . . . . . . . . . . . . . 21
1.3.5 Paquetes de CÆlculo Simblico . . . . . . . . . . . . . . 22
1.3.6 Paquetes Estadsticos . . . . . . . . . . . . . . . . . . . 22
1.3.7 Paquetes OmÆticos
. . . . . . . . . . . . . . . . . . . 23
1.3.8 Otros Programas de Cmputo . . . . . . . . . . . . . . 24

2 Sistemas Operativos

25
2.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 Mac OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3 Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4.1 Sistema de Archivos y Estructura de Directorios . . . . 35
2.4.2 Trabajando con Linux . . . . . . . . . . . . . . . . . . 40
Interprete de rdenes de Consola BASH . . . . . . . . 61
2.4.3
2.4.4 Compresores y Descompresores de Archivos
. . . . . . 70
2.4.5 Copiar Archivos entre Equipos . . . . . . . . . . . . . . 76
2.4.6 Linux «Seguros»
. . . . . . . . . . . . . . . . . . . . . 80
2.4.7 Linux Desde la Nube . . . . . . . . . . . . . . . . . . . 88
2.4.8
Instalar Debian GNU/Linux . . . . . . . . . . . . . . . 92
2.5 Otros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

3 Creacin, Uso y Optimizacin de MÆquinas Virtuales Usando

QEMU/KVM
104
3.1 Tipo de Virtualizacin Soportado por la MÆquina HuØsped . . 107
3.2 Salida GrÆca de la Virtualizacin Usando VNC . . . . . . . . 111
3.3 Usando un Sistema Operativo Live como una MÆquina Virtual 113

[email protected]

1

Antonio Carrillo Ledesma, Et alii

Taller de Herramientas Computacionales

3.4 Usando un Archivo ISO como una MÆquina Virtual
. . . . . . 114
3.5 Creacin de MÆquinas Virtuales . . . . . . . . . . . . . . . . . 114
3.6 Uso de Virtualizacin Dentro de Otra Virtualizacin . . . . . . 118
3.7 Manipulacin del Estado de la MÆquina Virtual
. . . . . . . . 119
3.8 Optimizacin de ImÆgenes . . . . . . . . . . . . . . . . . . . . 119
3.8.1 Trabajar con una Imagen Virtual sin que se Altere
. . 120
3.8.2 Aumento de Desempeæo . . . . . . . . . . . . . . . . . 120
3.9 Uso de MÆquinas Virtuales de VirtualBox en KVM/QEMU . . 124
3.10 Conversin de MÆquinas Virtuales a KVM/QEMU . . . . . . 125
3.11 Comunicacin de las MÆquinas Virtuales con el Sistema An-

trin e Internet

. . . . . . . . . . . . . . . . . . . . . . . . . 129
3.12 Signicado de las Banderas de /proc/cpuinfo . . . . . . . . . . 133

4 Lenguajes de Programacin y Entornos de Desarrollo

139
4.1 Conceptos Transversales . . . . . . . . . . . . . . . . . . . . . 154
4.2 Algo de Programacin . . . . . . . . . . . . . . . . . . . . . . 160
4.3 Introduccin a los Paradigmas de Programacin . . . . . . . . 172
4.4 Errores de Redondeo y de AritmØtica en la Programacin
. . 181
4.5 Lenguajes y Entornos de Desarrollo . . . . . . . . . . . . . . . 192
4.6 Documentacin del Cdigo Fuente . . . . . . . . . . . . . . . . 202
4.6.1 Documentar en C, C++ y Java . . . . . . . . . . . . . 203
4.6.2 Documentar en Python . . . . . . . . . . . . . . . . . . 212
4.7 Herramientas de Programacin . . . . . . . . . . . . . . . . . 216
4.8 Programando Desde la Nube . . . . . . . . . . . . . . . . . . . 231

5 Programacin Orientada a Objetos

235
5.1 Herencia y Composicin . . . . . . . . . . . . . . . . . . . . . 242
5.2 Clase Abstracta . . . . . . . . . . . . . . . . . . . . . . . . . . 255
5.3 Polimorsmo y Programacin GenØrica . . . . . . . . . . . . . 260
5.4 Ejemplo de Altas, Bajas y Cambios en Java . . . . . . . . . . 265
5.5 Ejemplo de Altas, Bajas y Cambios en Python . . . . . . . . . 278
5.6 Excepciones en Java . . . . . . . . . . . . . . . . . . . . . . . 280
5.7 Excepciones en Python*** . . . . . . . . . . . . . . . . . . . . 288

6 Paquetes de CÆlculo NumØrico

289
6.1 CÆlculo NumØrico con Octave . . . . . . . . . . . . . . . . . . 292
6.2 Trabajando con Octave . . . . . . . . . . . . . . . . . . . . . . 293
6.3 Desde la Nube . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

[email protected]

2

Antonio Carrillo Ledesma, Et alii

Taller de Herramientas Computacionales

303
7 Paquetes de CÆlculo Simblico
7.1 CÆlculo Simblico con Maxima
. . . . . . . . . . . . . . . . . 305
7.2 Trabajando con Maxima . . . . . . . . . . . . . . . . . . . . . 307
7.3 Desde la Nube . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

8 Paquetes Estadsticos

314
8.1 CÆlculo Estadstico con R . . . . . . . . . . . . . . . . . . . . 316
8.2 Trabajando con R . . . . . . . . . . . . . . . . . . . . . . . . . 317
8.2.1 R y Python . . . . . . . . . . . . . . . . . . . . . . . . 321
8.3 Desde la Nube . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

9 El Cmputo en Paralelo

323
9.1 Arquitecturas de Software y Hardware . . . . . . . . . . . . . 323
9.1.1 Clasicacin de Flynn . . . . . . . . . . . . . . . . . . 323
9.2 Categoras de Computadoras Paralelas . . . . . . . . . . . . . 327
9.2.1 Equipo Paralelo de Memoria Compartida . . . . . . . . 327
9.2.2 Equipo Paralelo de Memoria Distribuida . . . . . . . . 330
9.2.3 Equipo Paralelo de Memoria Compartida-Distribuida . 331
9.2.4 Cmputo Paralelo en Multihilos . . . . . . . . . . . . . 335
9.2.5 Cmputo Paralelo en CUDA . . . . . . . . . . . . . . . 336
9.3 Escalabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
9.4 MØtricas de Desempeæo . . . . . . . . . . . . . . . . . . . . . . 345
9.5 Programacin de Cmputo de Alto Rendimiento . . . . . . . . 349
9.5.1 Programando con OpenMP para Memoria Compartida 351
9.5.2 Programando con MPI para Memoria Distribuida . . . 355
9.5.3 Esquema de Paralelizacin Maestro-Esclavo . . . . . . 360
9.5.4 Opciones de Paralelizacin Hbridas . . . . . . . . . . . 362

10 Paquetes OmÆticos

364
10.1 Hojas de CÆlculo . . . . . . . . . . . . . . . . . . . . . . . . . 365
10.2 Bases de Datos
. . . . . . . . . . . . . . . . . . . . . . . . . . 367
10.3 Herramientas de Presentacin y Multimedia . . . . . . . . . . 369
10.4 Procesamiento de ImÆgenes
. . . . . . . . . . . . . . . . . . . 370
10.5 Procesamiento de Textos . . . . . . . . . . . . . . . . . . . . . 371
10.6 Trabajando con LaTeX . . . . . . . . . . . . . . . . . . . . . . 373
10.7 Desde la Nube . . . . . . . . . . . . . . . . . . . . . . . . . . . 392

[email protected]

3

Antonio Carrillo Ledesma, Et alii

Taller de Herramientas Computacionales

11 Otros Programas de Cmputo

393
11.1 Otros Programas MatemÆticos . . . . . . . . . . . . . . . . . . 393
11.2 Programas de Visualizacin y Gracacin . . . . . . . . . . . . 395
11.3 Navegadores Web . . . . . . . . . . . . . . . . . . . . . . . . . 396
11.4 Compresores y Descompresores de Archivos
. . . . . . . . . . 397
11.5 Virtualizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
11.6 Desde la Nube . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

12 Ejemplitos

400
12.1 Sistemas DinÆmicos Discretos . . . . . . . . . . . . . . . . . . 403
12.2 Fractales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
12.3 Derivadas
12.4 Integrales
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
12.5 Matrices y Vectores . . . . . . . . . . . . . . . . . . . . . . . . 427
12.6 Resolucin de Sistemas Lineales . . . . . . . . . . . . . . . . . 435
12.7 Ecuaciones Diferenciales Ordinarias . . . . . . . . . . . . . . . 457
12.8 Ecuaciones Diferenciales Parciales . . . . . . . . . . . . . . . . 462

13 Consideraciones y Comentarios Finales

468
13.1 Integracin del Cmputo en las Carreras de Ciencias
. . . . . 469
13.2 Ventajas, Desventajas y Carencias del Software Libre . . . . . 470
13.3 Comentarios Finales
. . . . . . . . . . . . . . . . . . . . . . . 471

14 ApØndice A: El Cmputo en Instituciones Educativas

474

15 ApØndice B: Software Libre y Propietario

478
15.1 Software Libre . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
. . .
  • Links de descarga
http://lwp-l.com/pdf18123

Comentarios de: Taller de Herramientas Computacionales (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