introducción a la programación 11 o - · pdf file¿ cuál es la...

37
Introducción a la Programación 11O Humberto Cervantes Maceda

Upload: trancong

Post on 05-Mar-2018

217 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Introducción a la Programación 11‐O

Humberto Cervantes Maceda

Page 2: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Información del profesor

Humberto Cervantes Maceda

T‐138

www.humbertocervantes.net/cursos

Page 3: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Acerca de ustedes

Nombre

Carrera

¿ Qué experiencia tienes respecto a programación ?

¿ Qué te interesa en relación a la programación ?

Page 4: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Su carrera

Usted está aqui

Page 5: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Licenciatura en computación

Ciencias de la computación

Ingeniería de Software

¿ Qué son ? 

¿ Qué diferencias hay entre ellas ?

Page 6: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Programar

¿ Qué es programar ?

Page 7: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Programar

¿ Qué es programar ?El proceso de diseñar, escribir, probar, depurar y 

mantener el código fuente de los programas de  cómputo. Dicho código fuente está escrito en 

algún lenguaje de programación. El propósito de  programar es crear un programa que exhiba algún 

comportamiento deseado. El proceso de escribir  código fuente requiere conocimiento en distintos  temas incluyendo el dominio aplicativo, 

algoritmos especializados y lógica. (Wikipedia)

Page 8: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Recordando: Computadora

Page 9: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Arquitectura de Von Newmann

Representa un modelo  para diseñar computadoras 

digitales (1945) que es la  base de las computadoras 

que se usan hoy en día

5 Partes principalesALUUnidad de controlMemoriaDispositivos de entrada y 

salidaBus de datos

Page 10: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Arquitectura de Von Newmann

Dispositivos de Entrada  y Salida

Permiten realizar  comunicación hacia el 

exterior

Page 11: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Recordando: Computadora

ProcesamientoRatón

Teclado

CD

Escáner

Red

Pantalla

Impresora

Bocinas

Datos Información

Unidad Central

Page 12: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Arquitectura de Von Newmann

ALUArithmetic

Logic

Unit

Realiza operaciones  aritméticas (suma, resta, 

multiplicación) y   operaciones lógicas (si, 

y, o, no)

Page 13: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Arquitectura de Von Newmann

Unidad de ControlObtiene instrucciones en 

la memoria principal, las  interpreta y las ejecuta

Page 14: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Arquitectura de Von Newmann

MemoriaAlmacenamiento de 

datos

Page 15: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Unidad Central

Dentro de la unidad central se encuentranMicroprocesadorAlmacenamiento volátil (Memoria)Almacenamiento no‐volátil (Discos duros)

Microprocesador

Memoria

Disco duro

Page 16: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Arquitectura de Von Newmann

Bus de datosPermite que se 

comuniquen los datos  entre las distintas partes

Page 17: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Programa

Conjunto de instrucciones almacenadas en la  memoria que van a dirigir al procesador para  realizar una tarea especifica

En la memoria, un programa se ve como un  conjunto de unos y ceros

100100011101101010010011001

Los unos y ceros son el lenguaje de la máquinaEl único que entiende el procesadorEjem. 0110 1001 1010 1011 = SUMA M, N, P

Page 18: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Algoritmo

De manera informal, un algoritmo es cualquier procedimiento  computacional bien definido que toma uno o más valores 

como entrada y produce uno o más valores como salida. Un  algoritmo es entonces una secuencia de pasos que 

transforman entradas en salidas

Ejemplo: Ordenamiento de números

Un algoritmo es correcto si para cada entrada dada, se  detiene y produce la salida correcta. El algoritmo resuelve 

entonces el problema computacional.

Page 19: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Aplicación de algoritmos

Rutear

datos en la red

Decodificar genomas

Realizar transacciones seguras

Corregir rumbo de un avión

Controlar procesos industriales

Page 20: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Programa y algoritmo

¿ Cuál es la diferencia ?

Page 21: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Programa y algoritmo

Un programa es la implementación de un algoritmo,  es decir su representación en algún lenguaje de 

programación

Una estructura de datos es  una manera de  almacenar y organizar datos con el fin de facilitar su 

acceso y modificación. No existe una sola estructura  de datos que funcione bien para todos los 

propósitos, por ello, es importante conocer las  fortalezas y limitaciones de las mismas.

Page 22: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Representación de un algoritmo

Existen distintas  representaciones para 

un algoritmoPseudocódigo

Diagramas de flujos de  datos

Page 23: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Estructuras de datos

Una estructura de datos es  una manera de  almacenar y organizar datos con el fin de 

facilitar su acceso y modificación. No existe  una sola estructura de datos que funcione 

bien para todos los propósitos, por ello, es  importante conocer las fortalezas y 

limitaciones de las mismas.

Page 24: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Software y tipos de Software

SoftwareColección de programas y datos que proporcionan 

instrucciones a una computadora sobre qué hacer y cómo  hacerlo

Distintos tipos de SoftwareAplicacionesSistemas operativosDriversHerramientas de programaciónDrivers

Page 25: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Software en todos lados…

Page 26: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

¿ Por qué programamos ?

Page 27: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

¿ Por qué programamos ?

En general, se realizan programas para  resolver problemas o necesidades de forma 

automática mediante el uso de computadoras

problema

1011100011011001000111110111111001000111001110111011101101111110000111

1011100011011001000111110111111001000111001110111011101101111110000111

1011100011011001000111110111111001000111001110111011101101111110000111

1011100011011001000111110111111001000111001110111011101101111110000111

Page 28: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Hay un problema…

Las computadoras y los humanos no hablamos  el mismo idioma...

101000111010100100101001100100100001001101110001101010011011 ?

Page 29: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Lenguajes de programación

Para poder programar las computadoras, se inventaron  lenguajes de “alto nivel”, es decir, entendibles por los 

humanos

Primeros lenguajesFortran

(1954)

Cobol (1959)B (1969)

Lenguajes comunes hoy en díaPascal (1970)C (1971)C++ (1983)Java (1995)C#

(2000)

Page 30: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Ejemplo de programa

Programa que escribe “hola mundo!” en la pantalla en  lenguaje C

Un programa se escribe en un editor, y se guarda en un  archivo

#include <stdio.h>

void main(){

printf(“Hola, mundo !\n”);}

Page 31: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Compilador

Los lenguajes de alto nivel no son entendibles por la  computadora, es necesario traducirlos antes de que puedan 

ser ejecutados

La traducción la realiza un programa llamado compilador

Una vez compilado, el programa ya puede ser ejecutado por  la computadora

1011100011011001000111110111111001000111001110111011101101111110000111

#include <stdio.h>

main(){ printf(“Hola!\n”);}

Compilador

Page 32: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Depurador

El depurador es un programa que permite  ejecutar paso a paso el programa que estamos 

realizando con el fin de poder encontrar  problemas

Page 33: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Entornos de desarrollo integrado

Es un programa que  incluye varios otros  programas para realizar 

desarrollo de softwareEditor de código fuente

Compilador / interprete

Depurador

Builder

Etc…

Page 34: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

El proceso de dessarrollo

El proceso representa una serie de etapas que se  siguen para desarrollar una aplicación de software

Entre las etapas principales se encuentranEntender qué se quiere hacerProponer y diseñar una soluciónConstrucción de la soluciónProbar la soluciónEntregar la solución al clienteRealizar mantenimiento

Page 35: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Una analogía

Un programa pequeño, así cómo una casa pequeña pueden  ser diseñados y construidos por una sola persona

De forma un poco 'artesanal'

Page 36: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Una analogía

Un proyecto complejo requiere sin embargo  de  un proceso de desarrollo que permita 

coordinar un numero grande de  programadores

Torre Mayor

Page 37: Introducción a la Programación 11 O -  · PDF file¿ Cuál es la diferencia ? ... Compilador / interprete Depurador ... Entre las etapas principales se encuentran

Información del curso

www.humbertocervantes.net