Telechargé par emilio_balt

Clase1a

publicité
Programación Estructurada
Dr. Ruslan Gabbasov
• Oficina: HP-8
• Correo: [email protected]
• Sitio:
https://sites.google.com/site/progestructuradauam2018
• Clases: martes, jueves 16:00 – 18:15
•
-Curso de introduccción a la programación en lenguaje "C" dirigido a
Ingenieros Electrónicos, Eléctricos y de Producción.
- Se presenta el concepto de algoritmo y como representar y diseñar
algoritmos para solucionar problemas.
- Se introducen los conceptos fundamentales de un lenguaje de
programación: tipos de datos, variables, estructuras de control, arreglos, y
finalmente subprogramas y funciones.
- Se imparten técnicas para lograr un buen estilo de programación.
- Enfasis en la programación estructurada.
LIBROS DE TEXTO
•Brian Kernighan, Dennis Ritchie, El lenguaje de programación C
•Deitel H. M. Deitel P. J., Como Programar en C/C++
•Peter Norton, Introducción a la Computación
•Luis Joyanes A, Programación en C, Libro de Problemas
•Francisco J. Ceballos, Enciclopedia del Lenguaje C
EVALUACIÓN
- Teoría: 70 % (2 Parciales 35% c/u),
- Práctica: 30% (Tareas)
- Proyecto final (Requisito)
SITIOS DE INTERÉS EN LA WEB
https://www.youtube.com/
https://www.tutorialspoint.com/compile_c_online.php
http://www.cprogramming.com/
http://www.elrincondelc.com/portal/
Software libre: compilador de C Dev C++
https://sourceforge.net/projects/orwelldevcpp/
Compilador en linea (sin necesidad de instalar y se puede acceder por celular):
https://www.onlinegdb.com/online_c_compiler
Que no les pase esto :)
https://www.youtube.com/watch?v=HigVyp2wtfE
Evolución del Computador
Antecedentes históricos
Máquinas mecánicas: las computadoras de Charles
Babbage
Máquinas electromecánicas: el computador de
Konrad Zuse
Generaciones tecnológicas
Primera generación: válvulas
Segunda generación: transistores
Tercera generación: circuitos integrados
Cuarta generación: microprocesadores
¿Quinta generación?: el microprocesador como
elemento básico
Antecedentes históricos
Primer reto: operaciones básicas
El ábaco: primer instrumento
para calcular.
Tablilla dividida en varias
columnas. Cada una con un
conjunto de cuentas
engarzadas en una varilla.
Su origen se remonta a los
siglos III o IV a. de C.
Sigue en uso
Antecedentes históricos
Máquina aritmética
Desarrollada por Blas Pascal (1642, a los 18 años)
Constaba de un conjunto de ruedas dentadas, cada una de ellas
numerada del 0 al 9. Al pasar una rueda del 9 al 0 avanzaba un diente
de rueda a la siguiente.
Máquina Mecánica. Charles Babbage (1791-1871)
“Uno de los padres del computador actual”
“Adelantado” para la tecnología de la época
Consta de una memoria, una unidad aritmética, sistema de engranajes
para transferir datos entre memoria y la unidad aritmética y un
dispositivo para introducir y sacar datos de la máquina
Empleaba tarjetas perforadas para Programarse
Antecedentes históricos
Máquina Electromecánicas
Herman Hollerith (1860-1929). Censo de los Estados Unidos
Tarjetas perforadas
Crea la empresa (TMC) que da lugar a IBM
Konrad Zuse
Construye (1941) el primer máquina universal programable (Z3).
Trabaja en binario. Prototipos previos: Z1 (1938) y Z2 (1939)
Computador Harvard MARK-I (1947) Howard Aiken
Evolución:
- Mark-II
máquina de relés mecánicos (Babbadge)
- Mark-III y Mark-IV máquinas de tubos de vacío con
programa almacenado.
1ª Generación: válvulas de vacío
Periodo: 1946-1959
Velocidad de proceso en ms.
Disipación calorífica muy elevada
Gran tamaño y poca capacidad
Lenguaje máquina
Monoprogramación
Sin sistema operativo
1ª Generación: válvulas de vacío
Colossus: grupo de científicos ingleses con Alan
Turing (1943). Ayudó a descifrar el código enigma de
los alemanes.
ENIAC Electronic Numerical Integrator and Calculator.
Eckert y Mauchly (1943)
1er computador electrónico de propósito general.
Programa cableado
Cálculo de tablas de fuego de artillería
Operativo durante la II Guerra Mundial. Conocido en
1946
1ª Generación: válvulas de vacío
ENIAC Características:
(1946)
30 Toneladas
18,000 tubos de vacío
160 Kw
100 KHz
Operaciones: suma,
resta, multiplicación y
división (suma: 200µs)
20 registros de 10
dígitos (2 pies/registro)
Entrada/Salida de datos: Tarjetas perforadas
Tarjeta perforada de formato de 80 columnas de IBM (1928)
Instrucción en Fortran: Z(1) = Y + W(1)
1ª Generación: válvulas de vacío
EDVAC: (1946) Electronic Discrete Variable Automatic
Computer. (Autores: Eckert-Mauchly-von Neumann)
Bases de la Arquitectura von Neumann
Programa almacenado
6,000 Tubos de vacío + 12,000 diodos
Aritmética binaria
5 unidades: Entrada, Memoria, UAL, Control, Salida
UNIVAC I - Remington-Rand Co. (Oficina de Censos)
1er computador comercial con éxito (1951)
48 sistemas a 1,250,000 $
2ª Generación: transistores (1948)
Período 1959-1965
Menor tamaño, menor disipación de calor, mayor fiabilidad
Primeros lenguajes de alto nivel:
FORTRAN
COBOL
ALGOL
Sistema Operativo
Extensión de los computadores comerciales
2ª Generación: transistores
Innovadores, con poca repercusión comercial:
UNIVAC LARC
IBM STRETCH (o 7030)
Burroughs D-825
ATLAS
Comerciales:
CDC 1604 y 3600
IBM 1410
PDP 1 de DEC
Serie 1100 de Univac
3ª Generación: circuitos integrados
Período: 1965-1971
Menor tamaño, más baratos, menor consumo de energía
Primera familia de computadores, compatibles a nivel de
arquitectura: IBM360
Supercomputadores: 6600 de Control Data (Cray).
Minicomputadores:
PDP-8 y PDP-11
Sistemas Operativos:
Multiprogramación, tiempo compartido
Lenguajes: alto nivel estructurado (Dijkstra, 1968)
4ª Generación: microprocesadores VLSI
Período 1971 – 1981: Desarrollo de
microprocesadores y memorias
basados en semiconductores.
Very Large Scale Integrated (VLSI)
1971: 1er microprocesador
comercial INTEL 4004 (4 bits)
8 bits: Intel 8080-85,
Motorola 6800 y Zilog Z-80
16 bits: Intel 8086-88,
Motorola 68000 y Z-8000
32 bits: Intel 80386,
Motorola 68030
Válvula, transistor,
circuito integrado,
microprocesador
4ª Generación: microprocesadores VLSI
Computadores personales y estaciones de trabajo
Otras aplicaciones: electrodomésticos, equipos de
música y vídeo, etc.
Arquitectura RISC (MIPS R2000, SPARC)
Supercomputadores: computadores paralelos
Lenguajes de programación: C y Ada
Sistemas Operativos. Estandarización: UNIX
Interfaces gráficas
Generalización de las redes de computadores
¿5ª Generación?: microprocesadores
1982 – ahora. ULSI (Ultra Large Scale Integration)
El microprocesador como elemento básico
La computación masivamente paralela
Inteligencia artificial y proc. lenguaje natural
La comunicación y las interfaces multimedia.
Internet como una computadora distribuida
Las computadoras actuales
(+ smarphones, tablets etc..)
Integrados con millones de transistores
Velocidades > 1 GHz
UAL y UC Microprocesador o CPU + GPU
Memoria Principal (capacidad > 1 Giga)
Unidad de E/S en chipsets
Diversidad y compatibilidad de periféricos (USB)
Interconectividad de sistemas
Futuro de los microprocesadores
Chips neuromorfos
Límite tecnológico de CMOS
Chips con base en graféno
Chips orgánicos/biológicos
Chips ópticos (fotónica)
Computadoras quánticas
Nuevos procesadores requieren
nuevos lenguajes de programación!
Reflexión
• Generaciones y dependencia tecnológica:
- X (boomers) 1960-1973
- Y (millenials) 1980-1993,
- Z (post-millenials) 1995-2007,
- T (táctil) 2010-2022
• Tareas a diferentes grados de ejecución:
hacer un omelette, pagar recibo de luz,
conducir un auto…
Discusión
• ¿Que es una computadora? ¿Para que?
• ¿Cuantas generaciones de computadoras
hay y cuales son sus características?
• ¿Por qué se necesitan nuevos CPUs?
• ¿Qué principios físicos podrían ser la
base de los nuevos procesadores?
Téléchargement