introducción a la programación 11 o - · pdf file¿ cuál es la...
Post on 05-Mar-2018
223 Views
Preview:
TRANSCRIPT
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
top related