Download Introduccion- a-la- programacion

Document related concepts

Little man computer wikipedia , lookup

Programación funcional wikipedia , lookup

Lisp wikipedia , lookup

Transcript
Temas
• Introducción a la programación
Administración de Proyectos de desarrollo de Software
Introducción a la programación
Ciclo de vida de un proyecto
Enfoque moderno
Fin de la presentación
Continúe en la siguiente actividad
Administración de Proyectos de desarrollo de Software
Introducción a la programación
Ciclo de vida de un proyecto
Enfoque moderno
Introducción a la programación
Introducción a la programación
Conceptos generales de programación
• Antes de iniciar el tema, es conveniente, sobre todo para aquellos que
comienzan su instrucción informática, hacer un breve repaso de
conceptos fundamentales que se han de tomar en cuenta cuando se
desarrollan programas que se utilizarán en computadoras.
• Se incluye la metodología que se requiere para diseñar algoritmos de
manera sencilla y funcional.
¿Qué es una computadora?
Es un dispositivo electrónico utilizado para procesar información y
obtener resultados.
Introducción a la programación
Introducción a la programación
Los datos y la información se pueden introducir en la computadora por
la entrada y a continuación se procesan para producir una salida
(resultados).
Los datos de entrada y los datos de salida pueden ser, realmente,
cualquier cosa, texto, dibujos, o sonidos.
¿Qué es el software?
Conjunto de programas escritos para una computadora.
¿Qué es el hardware?
Componentes físicos que constituyen la computadora, junto con los
dispositivos que realizan las tareas de entrada y salida
Introducción a la programación
Introducción a la programación
¿Qué es un programa?
Conjunto de instrucciones que hacen funcionar a la computadora.
Organización física de la computadora
UPC (procesador)
Dispositivos de
entrada
Unidad de control
Dispositivos de
salida
Memoria principal
Unidad aritmética lógica
Memoria externa
Almacenamiento
permanente
Introducción a la programación
Introducción a la programación
Dispositivos de Entrada/Salida
• Los dispositivos de Entrada/Salida permiten la comunicación entre la
computadora y el usuario para introducir datos (información) para su proceso.
Los datos se leen de los dispositivos de entrada y se almacenan en la memoria
principal, convierten la información de entrada en señales eléctricas que se
almacenan en la memoria principal.
Tipos de dispositivos de entrada:
• Teclados.
• Lápices ópticos.
• Palancas de mando (joystick).
• Lectores de códigos de barra.
• Micrófonos.
• Mouse
• Cámaras de video, etc
Introducción a la programación
Introducción a la programación
• Los dispositivos de salida permiten representar resultados (salida) del
proceso de los datos.
Tipos de dispositivos de salida:
• Pantalla.
• Impresoras.
• Trazadores gráficos (plotters).
• Reconocedores de voz, etc.
Memoria principal
• Conocida como RAM (Random Access Memory), almacena información
(instrucciones de un programa y los datos con los que operan las
instrucciones) de manera transitoria, es decir, durante la ejecución de un
programa.
Introducción a la programación
Introducción a la programación
Unidad Central de Proceso (UPC)
• Dirige y controla el proceso de información realizado por la
computadora, esta conformada por:
• Unidad de control (UC).- coordina las actividades de la computadora y
determina que operaciones se deben realizar y en que orden; así mismo
controla y sincroniza todo el proceso de la computadora.
• Unidad aritmética Lógica (ALU).- realiza operaciones aritméticas y
lógicas, tales como sumas, restas, multiplicaciones divisiones y
comparaciones. Los datos se pueden leer (recuperar) o escribir
(cambiar) por la upc.
Introducción a la programación
Introducción a la programación
Memoria auxiliar (externa)
• Cuando un programa se ejecuta, se debe situar primero en la memoria
principal de igual modo que los datos, sin embargo, la información
almacenada en la memoria se pierde (borra) cuando se apaga la
computadora y, por otra parte, la memoria principal es limitada en
capacidad. Por esta razón, para poder disponer de almacenamiento
permanente, tanto para programas como para datos se necesitan
dispositivos de almacenamiento secundario, auxiliar o masivo.
• Los dispositivos de almacenamiento secundario o memorias auxiliares
(externas o secundarias) más comúnmente utilizadas son CD-ROM,
DVD, cintas y discos magnéticos, USB, etc.
Introducción a la programación
Introducción a la programación
Tipos de Lenguajes
• Para que un procesador realice un proceso se le debe suministrar en
primer lugar un algoritmo adecuado. El procesador debe ser capaz de
interpretar el algoritmo, lo que significa:
• Comprender las instrucciones de cada paso.
• Realizar las operaciones correspondientes.
• Cuando el procesador es una computadora, el algoritmo se ha de
expresar en un formato que se denomina programa.
• Un programa se escribe en un lenguaje de programación y las
operaciones que conducen a expresar un algoritmo en forma de
programa se llama programación.
Introducción a la programación
Introducción a la programación
• Así pues, los lenguajes utilizados para escribir programas de
computadoras son los lenguajes de programación y programadores son
los escritores y diseñadores de programas.
• Los principales tipos de lenguajes utilizados en la actualidad son:
• Lenguajes máquina.
• Lenguajes de bajo nivel (ensamblador)
• Lenguajes de alto nivel.
Lenguajes máquina
• Son aquellos que están escritos en lenguajes directamente inteligibles
por la máquina (computadora), ya que sus instrucciones son cadenas
binarias (cadenas o series de dígitos 0’s y 1’s) que especifican una
operación.
Introducción a la programación
Introducción a la programación
• Las posiciones (dirección) de memoria implicadas en la operación se
denominan instrucciones de máquina o código máquina (código binario).
• Las instrucciones en lenguaje máquina dependen del hardware de la
computadora y, por lo tanto, diferirán de una computadora a otra.
Lenguajes de bajo nivel
• Son más fáciles de utilizar que los lenguajes máquina, pero, al igual,
que ellos, dependen de la máquina en particular.
• El lenguaje de bajo nivel por excelencia es el ensamblador.
• Las instrucciones en lenguaje ensamblador son instrucciones conocidas
como nemotécnicos. Por ejemplo, típicos de operaciones aritméticas:
ADD, SUB, DIV.
Introducción a la programación
Introducción a la programación
• Un programa escrito en lenguaje ensamblador no puede ser ejecutado
directamente por la computadora, en esto se diferencia esencialmente
del lenguaje máquina, sino que requiere una fase de traducción al
lenguaje máquina.
• El programa original escrito en lenguaje ensamblador se denomina
programa fuente y el programa traducido en lenguaje máquina se
conoce como programa objeto, ya directamente inteligible por la
computadora.
• El traductor de programas fuente a objeto es un programa llamado
ensamblador.
Introducción a la programación
Introducción a la programación
Lenguajes de alto nivel
• Son los más utilizados por los programadores, están diseñados para que
las personas escriban y entiendan los programas de un modo más fácil
que los lenguajes máquina y ensambladores.
• Un programa escrito en lenguaje de alto nivel es independiente de la
máquina; esto es, las instrucciones del programa de la computadora no
dependen del diseño del hardware o de una computadora en particular.
• Los programas escritos en lenguaje de alto nivel son portables o
transportables, lo que significa la posibilidad de poder ser ejecutados con
poca o ninguna modificación en diferentes tipos de computadoras.
• Los programas fuente en lenguaje de alto nivel tiene que ser traducidos
por los programas traductores, llamados en este caso compiladores.
Introducción a la programación
Introducción a la programación
Tipos de lenguajes de alto nivel:
C, C++, Fortran, C#, VisualBasic, Java
Muy extendidos:
Modula-2, Prolog, LISP, Smaltalk
Gran uso en el mundo profesional:
Borland Delphi, C++ Builder, Power Builder
Aunque hoy en día el mundo de Internet consume gran cantidad de
recursos en forma de lenguajes de programación como:
HTML, XML, JavaScript, etc.