u01 algoritmos y lenguajes de programacion

25
Algoritmos y Leguajes de Programación Universidad Nacional de Ingeniería FIEE Autor: Mauricio Galvez Legua ([email protected]) 1

Upload: jean

Post on 06-Dec-2015

274 views

Category:

Documents


4 download

DESCRIPTION

programación digital

TRANSCRIPT

Algoritmos y Leguajes de Programación

Universidad Nacional de Ingeniería

FIEE

Autor: Mauricio Galvez Legua

([email protected])

1

Introducción

Esta unidad nos permite conocer los elementos fundamentales de los lenguajes de programación, la importancia de los algoritmos, nos da un alcance de los diferentes lenguajes de programación. También revisamos la diferencia entre los interpretes y compiladores.

2

Objetivos

Definir el concepto de programación.

Definir los conceptos de programa y algoritmo.

Enumerar y diferenciar los lenguajes de programación.

Definir la diferencia entre interpretes y compiladores.

3

Porque es importante ?

Hoy en día la mayoría de equipos electrónicos están construidos utilizando un microprocesador (uP) o microcontrolador (uC), esto quiere decir que dichos equipos son programables, esto significa que podemos cambiar su “comportamiento” variando el programa almacenado en dicho equipo, esto le da flexibilidad de uso a los equipos.

4

Que es Programación ?

La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales.

El código fuente es escrito en un lenguaje de programación.

El propósito de la programación es crear programas que exhiban un comportamiento deseado.

5

Que es Programación ?

Un programa es el arte y la técnica de: Seleccionar la parte que nos interesa

de la realidad.

Sintetizarla en unos pocos datos.

Reproducir su comportamiento.

Y analizar las consecuencias.

Es un soporte fundamental a la ingeniería.

Las matemáticas son la base para la programación.

6

Que es Programación ?

La programación nos brinda una forma creativa para implementar soluciones basadas en nuestro ingenio y destreza.

La programación apoya a fomentar la investigación y el autoaprendizaje.

7

Definiciones

Informática

La Informática es el tratamiento automático de información.

Computador

Es una maquina programable.

Ejecuta programas previamente almacenados.

8

Definición : Algoritmos

Forma de escribir la solución de un problema.

Serie ordenada y finita de instrucciones elementales que trabaja sobre los datos modificándolos.

A partir de los valores iniciales.

Calcula los valores finales.

9

Definición : Algoritmos

Es un conjunto de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.

10

Fundamentos de Programación

Un Lenguaje de Programación es aquél que es utilizado para escribir programas de computadoras que puedan ser entendidos por ellas.

Estos lenguajes se clasifican en tres grandes categorías :

Lenguaje Máquina

Lenguaje de Bajo nivel (ensamblador)

Lenguaje de Alto nivel

11

Fundamentos de Programación

El primer gran avance se dio con el Lenguaje Ensamblador, y con él, el nacimiento de las primeras herramientas automáticas para generar el código máquina.

Exige un gran conocimiento del procesador (juego de instrucciones) y del hardware que se esta programando.

12

Fundamentos de Programación

void main ( ) { printf (“Hola”); }

PROG1.CPP

55 1A 34 13 FB 45 33 25 C5 A3 00 F1 34 78 B1 C2 19 00 28 13 45 67 CC FF

PROG1.EXE

Lenguaje de Máquina

Lenguaje de Alto Nivel

(Programa Fuente)

Programa Ejecutable

Compilador

void main ( ) { printf (“Hola”); }

PROG1.CPP

55 1A 34 13 FB 45 33 25 C5 A3 00 F1 34 78 B1 C2 19 00 28 13 45 67 CC FF

PROG1.EXE

34: Suma

75: Resta 75: Suma

34: Resta 13

Fundamentos de Programación

Con el desarrollo en los 50s y 60s de algoritmos de más elevado nivel, y el aumento de poder del hardware, los científicos comenzaron a utilizar las computadoras; ellos conocían mucho de Física, Química y otras ramas similares, pero no de Computación, y les era sumamente complicado trabajar con Lenguaje Ensamblador en vez de fórmulas.

14

Fundamentos de Programación

Así, nació el concepto de Lenguaje de Alto Nivel, con el primer compilador de FORTRAN (FORmula TRANslation), que, como su nombre indica, inició como un "simple" esfuerzo de traducir un lenguaje de fórmulas, al lenguaje ensamblador y por consiguiente al lenguaje de máquina. A partir de FORTRAN, se han desarrollado innumerables lenguajes, que siguen el mismo concepto: buscar la mayor abstracción posible, y facilitar la vida al programador.

15

Fundamentos de Programación

Hay que notar la existencia de lenguajes que combinan características de los de alto nivel y los de bajo nivel (es decir, Ensamblador).

Un ejemplo es C, el cual contiene estructuras de programación de alto nivel pero su sintaxis es relativamente completa.

Por ello, muchas personas consideramos a lenguajes como C (que fue diseñado para hacer sistemas operativos), lenguajes de nivel medio.

16

Lenguajes de Programación -Generaciones

Primera generación: lenguaje maquina.

Segunda generación: se crearon los primeros lenguajes ensambladores.

Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Frontran, Pascal, Cobol, Java, etc.

17

Lenguajes de Programación -Generaciones

Cuarta generación: Son los lenguajes capaces de generar código por si solos, son los llamados RAD (Rapid Application Development), con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ejemplo: IBM Rational Application Developer

Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Ejemplo: Prolog, LISP, etc.

18

Interpretes y Compiladores

Se puede distinguir dos tipos de lenguajes, según se realice su “ejecución”:

Interpretado, en donde cada instrucción que contiene el programa se va convirtiendo a código máquina antes de ejecutarla, lo que hace que sean más lentos.

Compilado, en donde se convierte todo el programa en bloque a código máquina y después se ejecuta.

19

Interpretes y Compiladores

20

Compiladores

La mayoría de los lenguajes actuales son compiladores, y suelen incluir:

Un editor para escribir o revisar los programas.: IDE (Integrated Development Environment). Ejemplo: Eclipse, NetBeans, etc

El compilador propiamente dicho, que los convierte a código máquina.

Otros módulos auxiliares, como enlazadores (linkers) para unir distintos subprogramas, y depuradores (debuggers) para ayudar a descubrir errores.

21

Conceptos: Programa

Es un archivo que contiene un conjunto de instrucciones (órdenes) que el procesador entiende y ejecuta para realizar una determinada tarea.

Los programas son escritos utilizando Lenguajes de Programación como: Java, C, Visual Basic, etc.

Una vez escritos tienen que ser “ejecutados”.

22

Diseñar la solución

Escribir un programa

Compilar el programa

Ejecutar el programa

Probar el programa

Mantener el programa

Crear un programa

23

Correctos ¿Quién quiere un programa incorrecto?

¿Existe la perfección?

Ingeniería es el arte de lo posible.

Eficientes Uso eficaz de recursos (memoria, disco ...)

Ingeniería es el arte de lo rentable.

Fácilmente modificables Los clientes cambian.

Los problemas evolucionan.

La comprensión del problema y la solución mejoran.

Ingeniería es el arte de lo adaptable.

Características de los programas

24

Fin

25