SlideShare una empresa de Scribd logo
1 de 44
Luis
Hernández
Yáñez
Página 1
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Informática (Ciencia de la computación)
Conjunto de conocimientos científicos y técnicas
que hacen posible el tratamiento automático
de la información por medio de ordenadores
Computadora
Máquina electrónica, analógica o digital,
dotada de una memoria de gran capacidad
y de métodos de tratamiento de la información,
capaz de resolver problemas matemáticos y lógicos
mediante la ejecución de programas informáticos
Página 2
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Hardware
Componentes que integran
la parte material
de una computadora
Software
Programas, instrucciones
y reglas informáticas
para ejecutar tareas
en una computadora
Página 3
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Programar
Indicar a la computadora qué es lo que tiene que hacer
Programa
 Secuencia de instrucciones
 Instrucciones que entiende la computadora
 Y que persiguen un objetivo: ¡resolver un problema!
Página 4
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Trabajo en equipo
Múltiples roles...
 Gestores
 Analistas
 Diseñadores
 Programadores
 Probadores
 Administradores de
sistemas
...
Página 5
Fundamentos de la programación: Computadoras y programación
Parque Jurásico
Luis
Hernández
Yáñez
Esquema general
Página 6
Fundamentos de la programación: Computadoras y programación
Memoria
temporal
Almacenamiento
permanente
Dispositivos
de entrada
Teclado
Ratón
Escáner
Táctil
…
Dispositivos
de salida
Monitor
Impresora
Altavoz
…
Unidad Central de Proceso
Central Processor Unit
C.P.U.
Luis
Hernández
Yáñez
La arquitectura de Von Neumann
Página 7
Fundamentos de la programación: Computadoras y programación
C.P.U. (Procesador)
Dispositivos de E/S
Memoria
A.L.U.
Unidad Aritmético-Lógica
Unidad de Control
Una ALU de 2 bits (Wikipedia)
Luis
Hernández
Yáñez
La memoria
Página 8
Fundamentos de la programación: Computadoras y programación
Memoria
Bus
de
datos
01
02
03
04
05
06
07
08
. . .
Dirección
Cada celda en una dirección
Celdas de 8 / 16 / 32 / 64 bits
Información volátil
1 Bit = 0 / 1
1 Byte = 8 bits = 1 carácter
1 Kilobyte (KB) = 1024 Bytes
1 Megabyte (MB) = 1024 KB
1 Gigabyte (GB) = 1024 MB
1 Terabyte (TB) = 1024 GB
1 Petabyte (PB) = 1024 TB
210 = 1024  1000
Luis
Hernández
Yáñez
Página 9
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Los procesadores trabajan con ceros y unos (bits)
Unidad de memoria básica: Byte (8 bits)
(2 dígitos hexadecimales: 01011011  0101 1011  5B)
Lenguaje máquina
Códigos hexadecimales que representan instrucciones,
registros de la CPU, direcciones de memoria o datos
Instrucción Significado
A0 2F Acceder a la celda de memoria 2F
3E 01 Copiarlo el registro 1 de la ALU
A0 30 Acceder a la celda de memoria 30
3E 02 Copiarlo en el registro 2 de la ALU
1D Sumar
B3 31 Guardar el resultado en la celda de memoria 31
Página 10
Fundamentos de la programación: Computadoras y programación
Lenguaje de bajo nivel
Dependiente de la máquina
Programación difícil
Luis
Hernández
Yáñez
Nemotécnicos para los códigos hexadecimales:
A0  READ 3E  REG 1D  ADD …
Mayor legibilidad:
READ 2F
REG 01
READ 30
REG 02
ADD
WRITE 31
Lenguaje de nivel medio
Página 11
Fundamentos de la programación: Computadoras y programación
Código objeto
(lenguaje máquina)
Programa
ensamblador
Código fuente
(lenguaje ensamblador)
Luis
Hernández
Yáñez
Página 12
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
 Más cercanos a los lenguajes natural y matemático
resultado = dato1 + dato2;
 Mayor legibilidad, mayor facilidad de codificación
 Estructuración de datos / abstracción procedimental
Página 13
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Traducción
Compiladores:
Compilan y enlazan
programas completos
Intérpretes:
Compilan, enlazan
y ejecutan instrucción
a instrucción
Página 14
Fundamentos de la programación: Computadoras y programación
Compilador
Enlazador
Código
objeto de
biblioteca
Código fuente
#include <iostream>
using namespace std;
int main()
{
cout << "Hola Mundo!" << endl;
return 0;
}
Código objeto 0100010100111010011100…
Programa
ejecutable
Para una arquitectura concreta
y un sistema operativo
Luis
Hernández
Yáñez
Genealogía de lenguajes
Página 15
Fundamentos de la programación: Computadoras y programación
BASIC
1964
Logo
1968
Ruby
1993
Python
1991
Eiffel
1986
Modula
1975
Fuente:
http://www.levenez.com/lang/
Versiones / Estándares
Prolog
1970
Haskell
1987
C#
2000
Java
1995
C++
1983
Smalltalk
1971
Scheme
1975
PL/I
1964
Simula
1964
Ada
1979
C
1971
Pascal
1970
CPL
1963
COBOL
1959
ALGOL
1958
FORTRAN
1954
Lisp
1958
Luis
Hernández
Yáñez
Página 16
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
La prehistoria
El ábaco
Siglo XIX
Máquina analítica de Charles Babbage
Página 17
Fundamentos de la programación: Computadoras y programación
Lady Ada Lovelace
es considerada
la primera
programadora
(Wikipedia)
Luis
Hernández
Yáñez
Siglo XX
1936 Máquina de Turing
1946 ENIAC: Primera computadora digital
de propósito general
1947 El transistor
1953 IBM 650: Primera
computadora a gran escala
1966 ARPANET: Origen de Internet
1967 El disquete
1970 Sistema operativo UNIX
1972 Primer virus informático (Creeper)
Lenguaje de programación C
1974 Protocolo TCP. Primera red local
Página 18
Fundamentos de la programación: Computadoras y programación
ENIAC (Wikipedia)
Luis
Hernández
Yáñez
1975 Se funda Microsoft
1976 Se funda Apple
1979 Juego Pacman
1981 IBM PC
Sistema operativo MS-DOS
1983 Lenguaje de programación C++
1984 CD-ROM
1985 Windows 1.0
1990 Lenguaje HTML
World Wide Web
1991 Sistema operativo Linux
Página 19
Fundamentos de la programación: Computadoras y programación
Apple II (Wikipedia)
IBM PC (Wikipedia)
Linux
Luis
Hernández
Yáñez
1992 Windows 3.1
1995 Lenguaje de programación Java
DVD
1998 Se funda Google
1999 MSN Messenger
Siglo XXI
2001 Windows XP
Mac OS X
2002 Mozilla Firefox
2007 iPhone
2008 Android ...
Página 20
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Página 21
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
¿Qué es programar?
Decirle a un tonto muy rápido exactamente lo que tiene que hacer
Especificar la estructura y el comportamiento de un programa,
así como probar que el programa realiza su tarea
adecuadamente y con un rendimiento aceptable
Programa: Transforma entrada en salida
Algoritmo: Secuencia de pasos y operaciones que debe realizar
el programa para resolver el problema
El programa implementa el algoritmo en un lenguaje concreto
Salida
Programa
Página 22
Fundamentos de la programación: Computadoras y programación
Entrada
Luis
Hernández
Yáñez
La programación es sólo una etapa del proceso de desarrollo
Modelo de desarrollo “en cascada”:
Página 23
Fundamentos de la programación: Computadoras y programación
Mantenimiento
Prueba y depuración
Programación
Diseño
Análisis
Planificación Recursos necesarios, presupuesto, plan, …
¿Qué?
¿Cómo?
Implementación
Luis
Hernández
Yáñez
Página 24
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Bjarne Stroustrup (1983)
#include <iostream>
using namespace std;
int main()
{
cout << "Hola Mundo!" << endl;
// Muestra Hola Mundo!
return 0;
}
Página 25
Fundamentos de la programación: Computadoras y programación
Hola Mundo!
Luis
Hernández
Yáñez
Instrucciones
Datos: literales, variables, tipos
Subprogramas (funciones)
Comentarios
Directivas
...
Fundamentos de la programación: Computadoras y programación Página 26
#include <iostream>
using namespace std;
int main()
{
cout << "Hola Mundo!" << endl;
// Muestra Hola Mundo!
return 0;
}
Directiva
Subprograma
Comentario
Instrucción
Instrucción
Dato
Dato
Luis
Hernández
Yáñez
Página 27
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Sintaxis y semántica de los lenguajes
Sintaxis
— Reglas que determinan cómo se pueden construir
y secuenciar los elementos del lenguaje
Semántica
— Significado de cada elemento del lenguaje
¿Para qué sirve?
Fundamentos de la programación: Computadoras y programación Página 28
Luis
Hernández
Yáñez
Especificación
 Lenguajes (BNF)
 Diagramas
Fundamentos de la programación: Computadoras y programación Página 29
<numero entero> ::= <signo opcional><secuencia de dígitos>
<signo opcional> ::= +|-|<nada>
<secuencia de dígitos> ::= <dígito>|<dígito><secuencia de dígitos>
<dígito> ::= 0|1|2|3|4|5|6|7|8|9
<nada> ::=
BNF
| significa ó +23 
-159 
1374 
1-34 
3.4 
002 
Ejemplo: Números enteros (sin decimales)
+
0 .. 9
-
Luis
Hernández
Yáñez
Fundamentos de la programación: Computadoras y programación Página 30
<numero entero> ::= <signo opcional><secuencia de dígitos>
<signo opcional> ::= +|-|<nada>
<secuencia de dígitos> ::= <dígito>|<dígito><secuencia de dígitos>
<dígito> ::= 0|1|2|3|4|5|6|7|8|9
<nada> ::=
+23
<numero entero> ::= <signo opcional><secuencia de dígitos>
::= +<secuencia de dígitos> ::= +<dígito><secuencia de dígitos>
::= +2<secuencia de dígitos> ::= +2<dígito> ::= +23
1374
<numero entero> ::= <signo opcional><secuencia de dígitos>
::= <secuencia de dígitos> ::= <dígito><secuencia de dígitos>
::= 1<secuencia de dígitos> ::= 1<dígito><secuencia de dígitos>
::= 13<secuencia de dígitos> ::= 13<dígito><secuencia de dígitos>
::= 137<secuencia de dígitos> ::= 137<dígito> ::= 1374
1-34
<numero entero> ::= <signo opcional><secuencia de dígitos>
::= <secuencia de dígitos> ::= <dígito><secuencia de dígitos>
::= 1<secuencia de dígitos> ::= ERROR (- no es <dígito>)



Luis
Hernández
Yáñez
Fundamentos de la programación: Computadoras y programación Página 31
+23 
137 
4
1- 
?
+23
1374
1-34
+
0 .. 9
+
+
-
-
-
0 .. 9
0 .. 9
Luis
Hernández
Yáñez
Página 32
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Hola Mundo!
Un programa que muestra un saludo en la pantalla:
#include <iostream>
using namespace std;
int main()
// main() es donde empieza la ejecución
{
cout << "Hola Mundo!" << endl; // Muestra Hola Mundo!
return 0;
}
Página 33
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Análisis del programa
#include <iostream>
using namespace std;
int main()
{
cout << "Hola Mundo!" << endl;
return 0;
}
Página 34
Las instrucciones terminan en ;
Fundamentos de la programación: Computadoras y programación
Directiva
Instrucción
Declaración
Instrucción
Instrucción
Biblioteca
Espacio de nombres
Palabras reservadas
Tipo
Datos literales
Cuerpo de la función
Cabecera de la función
Bloque
de
código
Cadena de caracteres Constante
Operador
Operador
Variable
Número
Coloreado sintáctico
Luis
Hernández
Yáñez
Hola Mundo!
Casi todo es infraestructura
Sólo
cout << "Hola Mundo!" << endl
hace algo palpable
La infraestructura (notación, bibliotecas y otro soporte)
hace nuestro código simple, completo, confiable y eficiente
¡El estilo importa!
Página 35
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Página 36
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Editor
 Bloc de notas, Wordpad, Word, Writer, Gedit, Kwrite, …
(texto simple, sin formatos)
 Editores específicos: coloreado sintáctico
 Recomendación: Notepad++
Página 37
Instalación y uso:
Sección
Herramientas de desarrollo
en el Campus Virtual
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Página 38
Fundamentos de la programación: Computadoras y programación
hola.cpp
(código fuente)
hola.obj
(código objeto)
Compilador
Código objeto de
la biblioteca iostream
hola.exe
(ejecutable)
Enlazador
Hola Mundo!
Cargador
Luis
Hernández
Yáñez
Compilador
 Importante: C++ estándar
 Recomendación: GNU G++ (MinGW en Windows)
Página 39
Instalación y uso:
Sección
Herramientas de desarrollo
en el Campus Virtual
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Entornos de desarrollo
 Para editar, compilar y probar el código del programa
 Recomendaciones:
— Windows: MS Visual Studio / C++ Express o Eclipse
— Linux: Netbeans o Eclipse
Página 40
Instalación y uso:
Sección
Herramientas de desarrollo
en el Campus Virtual
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
¿Qué hace el programa?
 La ejecución del programa siempre empieza en main()
 Se ejecutan las instrucciones en secuencia de principio a fin
Página 41
_
Hola Mundo!
Pantalla (cout)
_
Muestra Hola Mundo!
en la pantalla y salta de línea
Devuelve 0 como código
de terminación del programa
Fin
return 0;
cout << "Hola Mundo!" << endl;
Inicio
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Página 42
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
El lenguaje C
 Lenguaje creado por Dennis M. Ritchie en 1972
 Lenguaje de nivel medio:
— Estructuras típicas de los lenguajes de alto nivel
— Construcciones para control a nivel de máquina
 Lenguaje sencillo (pocas palabras reservadas)
 Lenguaje estructurado (noestrictamente estructurado en bloques)
 Compartimentalización de código (funciones) y datos (ámbitos)
 Componente estructural básico: la función (subprograma)
 Programación modular
 Distingue entre mayúsculas y minúsculas
 Palabras reservadas (o clave): en minúsculas
Página 43
Fundamentos de la programación: Computadoras y programación
Luis
Hernández
Yáñez
Licencia CC (Creative Commons)
Este tipo de licencias ofrecen algunos derechos a terceras personas
bajo ciertas condiciones.
Este documento tiene establecidas las siguientes:
Pulsa en la imagen de arriba a la derecha para saber más.
Fundamentos de la programación: Computadoras y programación Página 44
Reconocimiento (Attribution):
En cualquier explotación de la obra autorizada por la licencia
hará falta reconocer la autoría.
No comercial (Non commercial):
La explotación de la obra queda limitada a usos no comerciales.
Compartir igual (Share alike):
La explotación autorizada incluye la creación de obras derivadas
siempre que mantengan la misma licencia al ser divulgadas.

Más contenido relacionado

Similar a Presentacion_Programacion.pptx

Modulo1 introduccion
Modulo1   introduccionModulo1   introduccion
Modulo1 introduccionJOSE MENDOZA
 
Introducción a la informática
Introducción a la informáticaIntroducción a la informática
Introducción a la informáticaJeckson Loza
 
Universidad De Los Andes
Universidad De Los AndesUniversidad De Los Andes
Universidad De Los Andesbarrios
 
Ordenador
OrdenadorOrdenador
Ordenadoritziaru
 
Introducción al Computador
Introducción al ComputadorIntroducción al Computador
Introducción al ComputadorZobeida Ramirez
 
fundamentos de la programación, Introducción a la ciencia de la computación y...
fundamentos de la programación, Introducción a la ciencia de la computación y...fundamentos de la programación, Introducción a la ciencia de la computación y...
fundamentos de la programación, Introducción a la ciencia de la computación y...19025409
 
ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA
ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIAARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA
ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIAIsaias Castro
 
INTRODUCCIÓN A LA COMPUTACIÓN
INTRODUCCIÓN A LA COMPUTACIÓNINTRODUCCIÓN A LA COMPUTACIÓN
INTRODUCCIÓN A LA COMPUTACIÓNOctavio Arias
 
Representación de datos Hardware y Software
Representación de datosHardware y SoftwareRepresentación de datosHardware y Software
Representación de datos Hardware y SoftwareCarlos Medina Raymundo
 
Arquitectura de los ordenadores
Arquitectura de los ordenadores Arquitectura de los ordenadores
Arquitectura de los ordenadores cjimpin
 
Arquitectura de los ordenadores
Arquitectura de los ordenadores Arquitectura de los ordenadores
Arquitectura de los ordenadores mbauter
 
Manual programacion c++
Manual programacion c++Manual programacion c++
Manual programacion c++taker85
 
Algoritmos y programacion
Algoritmos y programacionAlgoritmos y programacion
Algoritmos y programacionLeomar Salazar
 
Clase 6 introduccion_a_la_programacion
Clase 6 introduccion_a_la_programacionClase 6 introduccion_a_la_programacion
Clase 6 introduccion_a_la_programacionDr.Ing. Uriel
 

Similar a Presentacion_Programacion.pptx (20)

Introducción a la Informática
Introducción a la InformáticaIntroducción a la Informática
Introducción a la Informática
 
Modulo1 introduccion
Modulo1   introduccionModulo1   introduccion
Modulo1 introduccion
 
Introducción a la informática
Introducción a la informáticaIntroducción a la informática
Introducción a la informática
 
Informática básica 2011
Informática básica 2011Informática básica 2011
Informática básica 2011
 
Universidad De Los Andes
Universidad De Los AndesUniversidad De Los Andes
Universidad De Los Andes
 
Ordenador
OrdenadorOrdenador
Ordenador
 
Introducción al Computador
Introducción al ComputadorIntroducción al Computador
Introducción al Computador
 
IALC
IALCIALC
IALC
 
fundamentos de la programación, Introducción a la ciencia de la computación y...
fundamentos de la programación, Introducción a la ciencia de la computación y...fundamentos de la programación, Introducción a la ciencia de la computación y...
fundamentos de la programación, Introducción a la ciencia de la computación y...
 
ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA
ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIAARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA
ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA
 
INTRODUCCIÓN A LA COMPUTACIÓN
INTRODUCCIÓN A LA COMPUTACIÓNINTRODUCCIÓN A LA COMPUTACIÓN
INTRODUCCIÓN A LA COMPUTACIÓN
 
Tema1
Tema1Tema1
Tema1
 
Representación de datos Hardware y Software
Representación de datosHardware y SoftwareRepresentación de datosHardware y Software
Representación de datos Hardware y Software
 
Arquitectura de los ordenadores
Arquitectura de los ordenadores Arquitectura de los ordenadores
Arquitectura de los ordenadores
 
Arquitectura de los ordenadores
Arquitectura de los ordenadores Arquitectura de los ordenadores
Arquitectura de los ordenadores
 
Manual programacion c++
Manual programacion c++Manual programacion c++
Manual programacion c++
 
Algoritmos y programacion
Algoritmos y programacionAlgoritmos y programacion
Algoritmos y programacion
 
Clase 6 introduccion_a_la_programacion
Clase 6 introduccion_a_la_programacionClase 6 introduccion_a_la_programacion
Clase 6 introduccion_a_la_programacion
 
La computadora
La computadoraLa computadora
La computadora
 
Guia de-programacion-i-visual-b-net
Guia de-programacion-i-visual-b-netGuia de-programacion-i-visual-b-net
Guia de-programacion-i-visual-b-net
 

Último

el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 

Último (20)

el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 

Presentacion_Programacion.pptx

  • 1. Luis Hernández Yáñez Página 1 Fundamentos de la programación: Computadoras y programación
  • 2. Luis Hernández Yáñez Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores Computadora Máquina electrónica, analógica o digital, dotada de una memoria de gran capacidad y de métodos de tratamiento de la información, capaz de resolver problemas matemáticos y lógicos mediante la ejecución de programas informáticos Página 2 Fundamentos de la programación: Computadoras y programación
  • 3. Luis Hernández Yáñez Hardware Componentes que integran la parte material de una computadora Software Programas, instrucciones y reglas informáticas para ejecutar tareas en una computadora Página 3 Fundamentos de la programación: Computadoras y programación
  • 4. Luis Hernández Yáñez Programar Indicar a la computadora qué es lo que tiene que hacer Programa  Secuencia de instrucciones  Instrucciones que entiende la computadora  Y que persiguen un objetivo: ¡resolver un problema! Página 4 Fundamentos de la programación: Computadoras y programación
  • 5. Luis Hernández Yáñez Trabajo en equipo Múltiples roles...  Gestores  Analistas  Diseñadores  Programadores  Probadores  Administradores de sistemas ... Página 5 Fundamentos de la programación: Computadoras y programación Parque Jurásico
  • 6. Luis Hernández Yáñez Esquema general Página 6 Fundamentos de la programación: Computadoras y programación Memoria temporal Almacenamiento permanente Dispositivos de entrada Teclado Ratón Escáner Táctil … Dispositivos de salida Monitor Impresora Altavoz … Unidad Central de Proceso Central Processor Unit C.P.U.
  • 7. Luis Hernández Yáñez La arquitectura de Von Neumann Página 7 Fundamentos de la programación: Computadoras y programación C.P.U. (Procesador) Dispositivos de E/S Memoria A.L.U. Unidad Aritmético-Lógica Unidad de Control Una ALU de 2 bits (Wikipedia)
  • 8. Luis Hernández Yáñez La memoria Página 8 Fundamentos de la programación: Computadoras y programación Memoria Bus de datos 01 02 03 04 05 06 07 08 . . . Dirección Cada celda en una dirección Celdas de 8 / 16 / 32 / 64 bits Información volátil 1 Bit = 0 / 1 1 Byte = 8 bits = 1 carácter 1 Kilobyte (KB) = 1024 Bytes 1 Megabyte (MB) = 1024 KB 1 Gigabyte (GB) = 1024 MB 1 Terabyte (TB) = 1024 GB 1 Petabyte (PB) = 1024 TB 210 = 1024  1000
  • 9. Luis Hernández Yáñez Página 9 Fundamentos de la programación: Computadoras y programación
  • 10. Luis Hernández Yáñez Los procesadores trabajan con ceros y unos (bits) Unidad de memoria básica: Byte (8 bits) (2 dígitos hexadecimales: 01011011  0101 1011  5B) Lenguaje máquina Códigos hexadecimales que representan instrucciones, registros de la CPU, direcciones de memoria o datos Instrucción Significado A0 2F Acceder a la celda de memoria 2F 3E 01 Copiarlo el registro 1 de la ALU A0 30 Acceder a la celda de memoria 30 3E 02 Copiarlo en el registro 2 de la ALU 1D Sumar B3 31 Guardar el resultado en la celda de memoria 31 Página 10 Fundamentos de la programación: Computadoras y programación Lenguaje de bajo nivel Dependiente de la máquina Programación difícil
  • 11. Luis Hernández Yáñez Nemotécnicos para los códigos hexadecimales: A0  READ 3E  REG 1D  ADD … Mayor legibilidad: READ 2F REG 01 READ 30 REG 02 ADD WRITE 31 Lenguaje de nivel medio Página 11 Fundamentos de la programación: Computadoras y programación Código objeto (lenguaje máquina) Programa ensamblador Código fuente (lenguaje ensamblador)
  • 12. Luis Hernández Yáñez Página 12 Fundamentos de la programación: Computadoras y programación
  • 13. Luis Hernández Yáñez  Más cercanos a los lenguajes natural y matemático resultado = dato1 + dato2;  Mayor legibilidad, mayor facilidad de codificación  Estructuración de datos / abstracción procedimental Página 13 Fundamentos de la programación: Computadoras y programación
  • 14. Luis Hernández Yáñez Traducción Compiladores: Compilan y enlazan programas completos Intérpretes: Compilan, enlazan y ejecutan instrucción a instrucción Página 14 Fundamentos de la programación: Computadoras y programación Compilador Enlazador Código objeto de biblioteca Código fuente #include <iostream> using namespace std; int main() { cout << "Hola Mundo!" << endl; return 0; } Código objeto 0100010100111010011100… Programa ejecutable Para una arquitectura concreta y un sistema operativo
  • 15. Luis Hernández Yáñez Genealogía de lenguajes Página 15 Fundamentos de la programación: Computadoras y programación BASIC 1964 Logo 1968 Ruby 1993 Python 1991 Eiffel 1986 Modula 1975 Fuente: http://www.levenez.com/lang/ Versiones / Estándares Prolog 1970 Haskell 1987 C# 2000 Java 1995 C++ 1983 Smalltalk 1971 Scheme 1975 PL/I 1964 Simula 1964 Ada 1979 C 1971 Pascal 1970 CPL 1963 COBOL 1959 ALGOL 1958 FORTRAN 1954 Lisp 1958
  • 16. Luis Hernández Yáñez Página 16 Fundamentos de la programación: Computadoras y programación
  • 17. Luis Hernández Yáñez La prehistoria El ábaco Siglo XIX Máquina analítica de Charles Babbage Página 17 Fundamentos de la programación: Computadoras y programación Lady Ada Lovelace es considerada la primera programadora (Wikipedia)
  • 18. Luis Hernández Yáñez Siglo XX 1936 Máquina de Turing 1946 ENIAC: Primera computadora digital de propósito general 1947 El transistor 1953 IBM 650: Primera computadora a gran escala 1966 ARPANET: Origen de Internet 1967 El disquete 1970 Sistema operativo UNIX 1972 Primer virus informático (Creeper) Lenguaje de programación C 1974 Protocolo TCP. Primera red local Página 18 Fundamentos de la programación: Computadoras y programación ENIAC (Wikipedia)
  • 19. Luis Hernández Yáñez 1975 Se funda Microsoft 1976 Se funda Apple 1979 Juego Pacman 1981 IBM PC Sistema operativo MS-DOS 1983 Lenguaje de programación C++ 1984 CD-ROM 1985 Windows 1.0 1990 Lenguaje HTML World Wide Web 1991 Sistema operativo Linux Página 19 Fundamentos de la programación: Computadoras y programación Apple II (Wikipedia) IBM PC (Wikipedia) Linux
  • 20. Luis Hernández Yáñez 1992 Windows 3.1 1995 Lenguaje de programación Java DVD 1998 Se funda Google 1999 MSN Messenger Siglo XXI 2001 Windows XP Mac OS X 2002 Mozilla Firefox 2007 iPhone 2008 Android ... Página 20 Fundamentos de la programación: Computadoras y programación
  • 21. Luis Hernández Yáñez Página 21 Fundamentos de la programación: Computadoras y programación
  • 22. Luis Hernández Yáñez ¿Qué es programar? Decirle a un tonto muy rápido exactamente lo que tiene que hacer Especificar la estructura y el comportamiento de un programa, así como probar que el programa realiza su tarea adecuadamente y con un rendimiento aceptable Programa: Transforma entrada en salida Algoritmo: Secuencia de pasos y operaciones que debe realizar el programa para resolver el problema El programa implementa el algoritmo en un lenguaje concreto Salida Programa Página 22 Fundamentos de la programación: Computadoras y programación Entrada
  • 23. Luis Hernández Yáñez La programación es sólo una etapa del proceso de desarrollo Modelo de desarrollo “en cascada”: Página 23 Fundamentos de la programación: Computadoras y programación Mantenimiento Prueba y depuración Programación Diseño Análisis Planificación Recursos necesarios, presupuesto, plan, … ¿Qué? ¿Cómo? Implementación
  • 24. Luis Hernández Yáñez Página 24 Fundamentos de la programación: Computadoras y programación
  • 25. Luis Hernández Yáñez Bjarne Stroustrup (1983) #include <iostream> using namespace std; int main() { cout << "Hola Mundo!" << endl; // Muestra Hola Mundo! return 0; } Página 25 Fundamentos de la programación: Computadoras y programación Hola Mundo!
  • 26. Luis Hernández Yáñez Instrucciones Datos: literales, variables, tipos Subprogramas (funciones) Comentarios Directivas ... Fundamentos de la programación: Computadoras y programación Página 26 #include <iostream> using namespace std; int main() { cout << "Hola Mundo!" << endl; // Muestra Hola Mundo! return 0; } Directiva Subprograma Comentario Instrucción Instrucción Dato Dato
  • 27. Luis Hernández Yáñez Página 27 Fundamentos de la programación: Computadoras y programación
  • 28. Luis Hernández Yáñez Sintaxis y semántica de los lenguajes Sintaxis — Reglas que determinan cómo se pueden construir y secuenciar los elementos del lenguaje Semántica — Significado de cada elemento del lenguaje ¿Para qué sirve? Fundamentos de la programación: Computadoras y programación Página 28
  • 29. Luis Hernández Yáñez Especificación  Lenguajes (BNF)  Diagramas Fundamentos de la programación: Computadoras y programación Página 29 <numero entero> ::= <signo opcional><secuencia de dígitos> <signo opcional> ::= +|-|<nada> <secuencia de dígitos> ::= <dígito>|<dígito><secuencia de dígitos> <dígito> ::= 0|1|2|3|4|5|6|7|8|9 <nada> ::= BNF | significa ó +23  -159  1374  1-34  3.4  002  Ejemplo: Números enteros (sin decimales) + 0 .. 9 -
  • 30. Luis Hernández Yáñez Fundamentos de la programación: Computadoras y programación Página 30 <numero entero> ::= <signo opcional><secuencia de dígitos> <signo opcional> ::= +|-|<nada> <secuencia de dígitos> ::= <dígito>|<dígito><secuencia de dígitos> <dígito> ::= 0|1|2|3|4|5|6|7|8|9 <nada> ::= +23 <numero entero> ::= <signo opcional><secuencia de dígitos> ::= +<secuencia de dígitos> ::= +<dígito><secuencia de dígitos> ::= +2<secuencia de dígitos> ::= +2<dígito> ::= +23 1374 <numero entero> ::= <signo opcional><secuencia de dígitos> ::= <secuencia de dígitos> ::= <dígito><secuencia de dígitos> ::= 1<secuencia de dígitos> ::= 1<dígito><secuencia de dígitos> ::= 13<secuencia de dígitos> ::= 13<dígito><secuencia de dígitos> ::= 137<secuencia de dígitos> ::= 137<dígito> ::= 1374 1-34 <numero entero> ::= <signo opcional><secuencia de dígitos> ::= <secuencia de dígitos> ::= <dígito><secuencia de dígitos> ::= 1<secuencia de dígitos> ::= ERROR (- no es <dígito>)   
  • 31. Luis Hernández Yáñez Fundamentos de la programación: Computadoras y programación Página 31 +23  137  4 1-  ? +23 1374 1-34 + 0 .. 9 + + - - - 0 .. 9 0 .. 9
  • 32. Luis Hernández Yáñez Página 32 Fundamentos de la programación: Computadoras y programación
  • 33. Luis Hernández Yáñez Hola Mundo! Un programa que muestra un saludo en la pantalla: #include <iostream> using namespace std; int main() // main() es donde empieza la ejecución { cout << "Hola Mundo!" << endl; // Muestra Hola Mundo! return 0; } Página 33 Fundamentos de la programación: Computadoras y programación
  • 34. Luis Hernández Yáñez Análisis del programa #include <iostream> using namespace std; int main() { cout << "Hola Mundo!" << endl; return 0; } Página 34 Las instrucciones terminan en ; Fundamentos de la programación: Computadoras y programación Directiva Instrucción Declaración Instrucción Instrucción Biblioteca Espacio de nombres Palabras reservadas Tipo Datos literales Cuerpo de la función Cabecera de la función Bloque de código Cadena de caracteres Constante Operador Operador Variable Número Coloreado sintáctico
  • 35. Luis Hernández Yáñez Hola Mundo! Casi todo es infraestructura Sólo cout << "Hola Mundo!" << endl hace algo palpable La infraestructura (notación, bibliotecas y otro soporte) hace nuestro código simple, completo, confiable y eficiente ¡El estilo importa! Página 35 Fundamentos de la programación: Computadoras y programación
  • 36. Luis Hernández Yáñez Página 36 Fundamentos de la programación: Computadoras y programación
  • 37. Luis Hernández Yáñez Editor  Bloc de notas, Wordpad, Word, Writer, Gedit, Kwrite, … (texto simple, sin formatos)  Editores específicos: coloreado sintáctico  Recomendación: Notepad++ Página 37 Instalación y uso: Sección Herramientas de desarrollo en el Campus Virtual Fundamentos de la programación: Computadoras y programación
  • 38. Luis Hernández Yáñez Página 38 Fundamentos de la programación: Computadoras y programación hola.cpp (código fuente) hola.obj (código objeto) Compilador Código objeto de la biblioteca iostream hola.exe (ejecutable) Enlazador Hola Mundo! Cargador
  • 39. Luis Hernández Yáñez Compilador  Importante: C++ estándar  Recomendación: GNU G++ (MinGW en Windows) Página 39 Instalación y uso: Sección Herramientas de desarrollo en el Campus Virtual Fundamentos de la programación: Computadoras y programación
  • 40. Luis Hernández Yáñez Entornos de desarrollo  Para editar, compilar y probar el código del programa  Recomendaciones: — Windows: MS Visual Studio / C++ Express o Eclipse — Linux: Netbeans o Eclipse Página 40 Instalación y uso: Sección Herramientas de desarrollo en el Campus Virtual Fundamentos de la programación: Computadoras y programación
  • 41. Luis Hernández Yáñez ¿Qué hace el programa?  La ejecución del programa siempre empieza en main()  Se ejecutan las instrucciones en secuencia de principio a fin Página 41 _ Hola Mundo! Pantalla (cout) _ Muestra Hola Mundo! en la pantalla y salta de línea Devuelve 0 como código de terminación del programa Fin return 0; cout << "Hola Mundo!" << endl; Inicio Fundamentos de la programación: Computadoras y programación
  • 42. Luis Hernández Yáñez Página 42 Fundamentos de la programación: Computadoras y programación
  • 43. Luis Hernández Yáñez El lenguaje C  Lenguaje creado por Dennis M. Ritchie en 1972  Lenguaje de nivel medio: — Estructuras típicas de los lenguajes de alto nivel — Construcciones para control a nivel de máquina  Lenguaje sencillo (pocas palabras reservadas)  Lenguaje estructurado (noestrictamente estructurado en bloques)  Compartimentalización de código (funciones) y datos (ámbitos)  Componente estructural básico: la función (subprograma)  Programación modular  Distingue entre mayúsculas y minúsculas  Palabras reservadas (o clave): en minúsculas Página 43 Fundamentos de la programación: Computadoras y programación
  • 44. Luis Hernández Yáñez Licencia CC (Creative Commons) Este tipo de licencias ofrecen algunos derechos a terceras personas bajo ciertas condiciones. Este documento tiene establecidas las siguientes: Pulsa en la imagen de arriba a la derecha para saber más. Fundamentos de la programación: Computadoras y programación Página 44 Reconocimiento (Attribution): En cualquier explotación de la obra autorizada por la licencia hará falta reconocer la autoría. No comercial (Non commercial): La explotación de la obra queda limitada a usos no comerciales. Compartir igual (Share alike): La explotación autorizada incluye la creación de obras derivadas siempre que mantengan la misma licencia al ser divulgadas.

Notas del editor

  1. Preguntar qué creen ellos que es la Informática o una computadora.
  2. ¿Qué es el hardware? ¿Qué es el software?
  3. ¿Qué es programar?
  4. Imagen distorsionada (¿o no?)
  5. La máquina analítica no se llegó a terminar tras numerosas versiones entre 1816 y 1872. Utilizaría tarjetas perforadas. Ada Lovelace describió la forma de programar la máquina analítica. Hija de Lord Byron.
  6. Turing (1912): Enigma, I.A. (test de Turing), morfogénesis. ENIAC: 167 m2, 27 Tm, 6.000 interruptores IBM 360: terminales remotos ARPANET: DoD
  7. UNIX: Ken Thompson y Dennis Ritchie Pascal: Niklaus Wirth Creeper: autoreplicante (experimental) C: Dennis Ritchie MS: Bill Gates y Paul Allen (hoy Steve Ballmer) Apple: Steve Jobs y Steve Wozniak
  8. Java: SUN Microsystems Google: Larry Page