juan ignacio rodríguez...
TRANSCRIPT
![Page 1: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/1.jpg)
Programación
Juan Ignacio Rodríguez Hernández
Escuela Superior de Física y MatemáticasInstituto Politécnico Nacional
Enero 2012
![Page 2: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/2.jpg)
¿Qué es una computadora?
¿Para qué sirve una computadora?
![Page 3: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/3.jpg)
¿Qué es una computadora?
¿Para qué sirve una computadora?
![Page 4: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/4.jpg)
¿Qué es una computadora?
Dispositivos de Salida
Dispositivos de ENTRADA
CPUCentral Processing Unit
Disco Externo
![Page 5: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/5.jpg)
Internal StorageMemoria interna
Control UnitUnidad de control
Arithmetic Logic Unit (ALU)
Diagrama de una computadora
input=entrada Processingprocesamiento
output=salida
Memoria principal (RAM: Random Access
Memory)
Memoria Secundaria (Disco duro)
Memoria
input=entrada output=salida
![Page 6: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/6.jpg)
Diagrama de una computadora
Memoria principal (RAM:
Random Access Memory)
Memoria Secundaria (Disco duro)
Memoria
1. Acceso Rápido2. Volatile (temporal)3. Acesso aleatorio4. Todos los programas ejecutandose se almacenan en RAM5. Cara ($$$)
1. Acceso Lento2. Permanente5. Barata ($)
![Page 7: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/7.jpg)
Internal StorageMemoria interna
Control UnitUnidad de control
Arithmetic Logic Unit (ALU)
Diagrama de una computadora
Memoria
input=entrada output=salida
![Page 8: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/8.jpg)
Computadoras (procesador) a través del tiempo
![Page 9: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/9.jpg)
Internal StorageMemoria interna
Control UnitUnidad de control
Arithmetic Logic Unit (ALU)
Diagrama de una computadora
Memoria
input=entrada output=salida
![Page 10: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/10.jpg)
¿Cómo almacena y procesa información una computadora?
![Page 11: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/11.jpg)
La memoria de una computadora esta compuesta de billones de pequeños interruptores (“switch”) que pueden estar solamente en dos estados “on” (prendido) y “off” (apagado), de aquí que el lenguaje “natural” para almacenar y procesar información de una computadora es el SISTEMA BINARIO.
Código Binario
Cada “switch” (punto en la figura) representa un DIGITO BINARIO (o “bit”).
![Page 12: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/12.jpg)
¿Qué dice este mensaje?
00101010001010100010101001001110010011110010000001001000010000010101100100100000010000110100000101001101010010010100111001001111010100110010000001010000010000010101001001000001001000000100110001000001001000000101000001000001010110100010000001010011010010010100111001001111001000000101000101010101010001010010000000101010001010100100110001000001001000000101000001000001010110100010000001000101010100110010000001000101010011000010000001000011010000010100110101001001010011100100111100101010001010100010101000101010
***NO HAY CAMINOS PARA LA PAZ SINO QUE LA PAZ ES EL CAMINO***
![Page 13: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/13.jpg)
“bit” & “byte”
00101010001010100010101001001110010011110010000001001000010000010101100100100000010000110100000101001101010010010100111001001111010100110010000001010000010000010101001001000001001000000100110001000001001000000101000001000001010110100010000001010011010010010100111001001111001000000101000101010101010001010010000000101010001010100100110001000001001000000101000001000001010110100010000001000101010100110010000001000101010011000010000001000011010000010100110101001001010011100100111100101010001010100010101000101010
***NO HAY CAMINOS PARA LA PAZ SINO QUE LA PAZ ES EL CAMINO***
bit byte(8bits)
![Page 14: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/14.jpg)
“bits” & “words”
00101010001010100010101001001110010011110010000001001000010000010101100100100000010000110100000101001101010010010100111001001111010100110010000001010000010000010101001001000001001000000100110001000001001000000101000001000001010110100010000001010011010010010100111001001111001000000101000101010101010001010010000000101010001010100100110001000001001000000101000001000001010110100010000001000101010100110010000001000101010011000010000001000011010000010100110101001001010011100100111100101010001010100010101000101010
***NO HAY CAMINOS PARA LA PAZ SINO QUE LA PAZ ES EL CAMINO***
64-bit word (palabra)
32-bit word (palabra)
![Page 15: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/15.jpg)
Código ASCIIEl código ASCII (“American Standard Code for Information Interchange”) es un código para representar caracteres mediante números. A cada carácter se le asocia un número decimal:
![Page 16: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/16.jpg)
![Page 17: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/17.jpg)
![Page 18: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/18.jpg)
Sistema Numérico Binario
● El sistema numérico DECIMAL es un sistema posicional de base 10. Ejemplo:
837.568=8×1023×101
7×1005×10−1
6×10−28×10−3
● El sistema numérico BINARIO es un sistema posicional de base 2. Ejemplo:
110101.101=1×251×24
0×231×22
0×211×20
1×2−10×2−2
1×2−3
110101.101=53.625
![Page 19: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/19.jpg)
Tipos de datos almacenados/procesados por una computadora
● CARACTERES (letras, símbolos, etc. )
● Números ENTEROS
● Números REALES
![Page 20: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/20.jpg)
CARACTER
Los datos de tipo CARACTER se almacenan en: 1 byte = 8 bits
Numero de simbolos
Tipo Valor
26 Letras mayusculas A-Z
26 Letras minusculas a-z
10 Digitos 0-9
1 Caracter para subrayar
_
5 Simbolos aritmeticos
+ - * / **
17 Varios simbolos 9 0 . = , ' $ : ! “ % & ; < > ?
El número de números enteros distintos generados con un byte es igual a: 28
=256
![Page 21: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/21.jpg)
![Page 22: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/22.jpg)
Números ENTEROS
Los números ENTEROS se almacenan en 4 bites = 32 bits
PRECISION SIMPLE (Predeterminada)
[ -2³¹ = -2147483648, 2³¹-1 2147483647 ]Rango:
[ -2³¹ = -2147483648, 2³¹-1 2147483647 ]
Los números ENTEROS se almacenan en 8 bytes = 64 bits
PRECISION DOBLE
Rango:
[−263 ,263]
NOTA: Un bit es destinado para el signo
![Page 23: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/23.jpg)
Números REALES (Punto flotante)
Los números REALES se almacenan en 4 bites = 32 bits En notación científica (punto flotante).
PRECISION SIMPLE (Predeterminada)
101010101010101001010101010010101010001010101
Mantisa: 24 bits Exponente: 8 bits
2374.852×10224
Rango:
[−1038 , -10-38] 6-7
Cifras significativas:
[ 10 -38 , 1038 ]
![Page 24: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/24.jpg)
Números REALES (Punto flotante)
Los números REALES se almacenan en 8 bites = 64 bits
PRECISION DOBLE
Números REALES (PUNTO FLOTANTE)
Mantisa: 53 bits Exponente: 11 bits
Rango:
[−10 308 , -10-308] 15-16
Cifras significativas:
[ 10 -308 , 10308 ]
NOTA: Un bit tanto en la mantisa como en el exponente es destinado para el signo
![Page 25: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/25.jpg)
Internal StorageMemoria interna
Control UnitUnidad de control
Arithmetic Logic Unit (ALU)
Diagrama de una computadora
Memoria
input=entrada output=salida
![Page 26: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/26.jpg)
¿¿¿ Cómo dar instrucciones a una computadora que solo “entiende”
el código binario ?????
![Page 27: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/27.jpg)
Lenguaje MáquinaPara procesar información, la computadora ejecuta “programas” los cuales son listas de instrucciones para ejecutar operaciones simples (suma, resta, multiplicación, “leer/cargar datos” & “guardar datos”) en código binario. Es decir, cada operación son listas binarias conocidas como código de operación. Las instrucciones a ejecutar por una computadora es una conjunto de códigos de operación que usualmente se conoce como LENGUAJE MAQUINA.
MUY DIFICIL DE PROGRAMAR !!!!!
![Page 28: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/28.jpg)
COMPILADORES/LENGUAJESDE ALTO NIVEL
Un LENGUAJE ALTO NIVEL es un lenguaje para dar instrucciones a la computadora mediante sentencias parecidas al lenguaje del humano (inglés, español, etc.) y al usado en matemáticas (aritmética, algebra, etc). Entonces, programas especiales llamados COMPILADORES se encargan en convertir estas instrucciones a lenguaje máquina.
![Page 29: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/29.jpg)
1.- Código fuente
LENGUAJE MAQUINA
EJECUCION DE PROCESOS POR LA COMPUTADORA
2.- Compilador COMPILAR
![Page 30: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/30.jpg)
LENGUAJES de ALTO NIVEL
● FORTRAN ● C, C++● COBOL● PASCAL● JAVA● BASIC
Existen varios lenguajes de alto nivel, los cuáles son usados de acuerdo al tipo de aplicación para la cual sean requeridos. Ejemplos de algunos de ellos son:
●El MEJOR lenguaje para análisis numérico en ciencia e ingeniería
![Page 31: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/31.jpg)
FORTRAN 90/95 FORTRAN 2003
● El MEJOR lenguaje para análisis numérico en ciencia e ingeniería
● Aplicaciones:
Diseño aeronáutico Control de radares y sistemas de defensa aérea
![Page 32: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/32.jpg)
FORTRAN 90/95 FORTRAN 2003
● El MEJOR lenguaje para análisis numérico en ciencia e ingeniería
● Aplicaciones:
Estudio y Diseño de materiales a nivel MOLECULAR, “diseño” de nuevos antivirales, etc.
![Page 33: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/33.jpg)
FORTRAN 90/95 FORTRAN 2003
● El MEJOR lenguaje para análisis numérico en ciencia e ingeniería
● SUPERCOMPUTADORAS y PROGRAMAS para ser ejecutados en PARALELO
![Page 34: Juan Ignacio Rodríguez Hernándezw3.esfm.ipn.mx/~juan/programacionI/presentaciones/Introduccion2013.pdfJuan Ignacio Rodríguez Hernández Escuela Superior de Física y Matemáticas](https://reader035.vdocumento.com/reader035/viewer/2022062507/5fdf61cd6e97453971258f90/html5/thumbnails/34.jpg)
FORTRAN a través del tiempo
● FORTRAN (1953) ● FORTRAN IV (1962)● FORTRAN 66● FORTRAN 77● FORTRAN 90● FORTRAN 95● FORTRAN 2003
FORTRAN viene de “FORmula TRANslation” (“traducción de Fórmulas”, lo que indicaba que fue creado pata “traducir” formulas científicas a lenguaje máquina), es una de los primeros lenguajes existentes.
●El MEJOR lenguaje MODERNO para análisis numérico. Formato libre, eficiente, bibliotécas, computo en PARALELO.