Algoritmos y Leguajes de Programación
Universidad Nacional de Ingeniería
FIEE
Autor: Mauricio Galvez Legua
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
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
Top Related