Introducción a la Programación 11 O - · PDF file¿ Cuál es la...

Post on 05-Mar-2018

223 views 4 download

Transcript of Introducción a la Programación 11 O - · PDF file¿ Cuál es la...

Introducción a la Programación 11‐O

Humberto Cervantes Maceda

Información del profesor

Humberto Cervantes Maceda

T‐138

www.humbertocervantes.net/cursos

Acerca de ustedes

Nombre

Carrera

¿ Qué experiencia tienes respecto a programación ?

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

Su carrera

Usted está aqui

Licenciatura en computación

Ciencias de la computación

Ingeniería de Software

¿ Qué son ? 

¿ Qué diferencias hay entre ellas ?

Programar

¿ Qué es programar ?

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)

Recordando: Computadora

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

Arquitectura de Von Newmann

Dispositivos de Entrada  y Salida

Permiten realizar  comunicación hacia el 

exterior

Recordando: Computadora

ProcesamientoRatón

Teclado

CD

Escáner

Red

Pantalla

Impresora

Bocinas

Datos Información

Unidad Central

Arquitectura de Von Newmann

ALUArithmetic

Logic

Unit

Realiza operaciones  aritméticas (suma, resta, 

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

y, o, no)

Arquitectura de Von Newmann

Unidad de ControlObtiene instrucciones en 

la memoria principal, las  interpreta y las ejecuta

Arquitectura de Von Newmann

MemoriaAlmacenamiento de 

datos

Unidad Central

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

Microprocesador

Memoria

Disco duro

Arquitectura de Von Newmann

Bus de datosPermite que se 

comuniquen los datos  entre las distintas partes

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

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.

Aplicación de algoritmos

Rutear

datos en la red

Decodificar genomas

Realizar transacciones seguras

Corregir rumbo de un avión

Controlar procesos industriales

Programa y algoritmo

¿ Cuál es la diferencia ?

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.

Representación de un algoritmo

Existen distintas  representaciones para 

un algoritmoPseudocódigo

Diagramas de flujos de  datos

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.

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

Software en todos lados…

¿ Por qué programamos ?

¿ 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

Hay un problema…

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

101000111010100100101001100100100001001101110001101010011011 ?

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)

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”);}

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

Depurador

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

realizando con el fin de poder encontrar  problemas

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…

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

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'

Una analogía

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

coordinar un numero grande de  programadores

Torre Mayor

Información del curso

www.humbertocervantes.net