INTRO A LA PROGRAMACION
flyztowner19 de Marzo de 2015
2.501 Palabras (11 Páginas)185 Visitas
Misión Sucre
P.N.F. de Informática
U.C.: Algoritmia y Programación
Elaborado por: Ing. Víctor Valencia
Elaborado por: Ing. Víctor Valencia
• Diálogo
• Especificaciones
• División
• Definición de abstracción
• Codificación
• Pruebas y verificación
• Presentación.
Metodología para la resolución
de problemas de algoritmia
Elaborado por: Ing. Víctor Valencia
En el primer paso en el proceso de solución a un problema se debe determinar de manera
clara y concisa la siguiente información:
• Los objetos conocidos, es decir, aquellos objetos de los cuales poseemos información
total o parcial útil en la búsqueda de los objetos desconocidos.
• Las condiciones, aquellas relaciones establecidas entre los objetos conocidos y los
desconocidos. Para esto se deben encontrar entre otras, la dependencia entre los
valores de los objetos desconocidos de los valores de los objetos conocidos y que
restricciones le impone al planteamiento del problema a dichos objetos.
• Los valores posibles que pueden tomar los objetos desconocidos.
Elaborado por: Ing. Víctor Valencia
Ejemplo: sean los puntos P=( a , b ) y Q=( c , d ) que definen una recta, encontrar un
segmento de recta perpendicular a la anterior que pase por el punto medio de los puntos
dados.
Objetos Desconocidos Un segmento de la recta.
Objetos Conocidos Los puntos P y Q.
Condiciones
el segmento de la recta debe pasar
por el punto medio entre P y Q, y
debe ser perpendicular a la recta
trazada entre P y Q.
Elaborado por: Ing. Víctor Valencia
Después de entender totalmente el problema a resolver (lo cual se consigue con la etapa
del diálogo), se debe realizar una especificación del algoritmo que permita encontrar su
solución. Un algoritmo que no esté claramente especificado puede ser interpretado de
diferentes maneras y al diseñarlo se puede terminar con un algoritmo que no sirve para
solucionar el problema.
La especificación de un algoritmo se hace mediante una descripción clara y precisa de:
1. Las entradas que el algoritmo recibirá.
2. Las salidas que el algoritmo proporcionará.
3. La dependencia que mantendrán las salidas obtenidas con las entradas recibidas.
Especificar entradas las entradas corresponden a los objetos
conocidos.
Especificar salidas las entradas corresponden a algunos de los
objetos desconocidos.
Especificar condiciones se especifican claramente como dependen
las entradas de las salidas.
Elaborado por: Ing. Víctor Valencia
Es el paso en el que a partir de la especificación del algoritmo se divide el proceso
(algoritmo en abstracto) en varios subprocesos hasta llegar al nivel de instrucción.
Durante el proceso de división se determina la estructura de control adecuada, ya sea,
secuencia, selección, repetición, asignación, lectura o escritura, que se puede asociar con
cada subproceso obtenido. Tanto los pasos intermedios de subdivisión como el resultado
final pueden ser representados por un diagrama de flujo o pseudocódigo.
Elaborado por: Ing. Víctor Valencia
Es en el que se revisa que porciones del algoritmo se repiten o son muy utilizadas y con las
cuales se construyen funciones y procedimientos.
Identificar que secuencias de pasos se utilizan mas de una vez en diferentes partes del
proceso.
Elaborado por: Ing. Víctor Valencia
Cuando ya se ha diseñado completamente el algoritmo y se tiene escrito en algún
esquema de representación (pseudocódigo o diagrama de flujo), el siguiente paso es
codificarlo en el lenguaje de programación definido para tal fin.
En este momento es cuando el programador interactúa con el computador mediante la
herramienta de software que disponga para codificar en el lenguaje seleccionado.
Elaborado por: Ing. Víctor Valencia
La prueba realizadas al software se realizan para verificar la correcta ejecución de las
sección de código creadas y si la aplicación cumple con la especificación anteriormente
creada.
Elaborado por: Ing. Víctor Valencia
Detallan la solución, el proceso que siguieron para lograrla, sus características técnicas
(especificaciones, rendimiento, etc.) y justifican las ventajas que presenta.
Nota:
La metodología para la resolución de problemas de algoritmia no se sigue en forma lineal,
sino que entre las etapas hay retroalimentación que permite ir y venir entre cada una de
ellas.
Misión Sucre
P.N.F. de Informática
U.C.: Algoritmia y Programación
Elaborado por: Ing. Víctor Valencia
Elaborado por: Ing. Víctor Valencia
• Definición de lenguajes de programación.
• Principios de los lenguajes de programación.
• Historia y evolución de los lenguajes de
programación.
• Clasificación según: abstracción, forma de
ejecución y paradigmas de programación.
• Interpretadores (traductores) y compiladores.
Introducción a la
Programación
Elaborado por: Ing. Víctor Valencia
Cualquier notación para la descripción de algoritmos y estructuras de datos puede
llamarse lenguaje de programación, sin embargo, también es requerido que el lenguaje
sea implementado en un computador.
• Medio de Comunicación entre el Hombre y la Máquina.
• Lenguaje usado para dar instrucciones a la máquina . Permite que el programador
exprese el procesamiento de datos de una forma simbólica, sin tener en cuenta los detalle
específicos de la máquina.
Elaborado por: Ing. Víctor Valencia
Características de un buen lenguaje de programación
• Claridad y Simplicidad
• Unificación de Conceptos
• Soporte para Abstracción (énfasis en el “¿Qué hace?” más en el “¿Cómo lo hace?”)
• Facilidad de Verificación
• Ambiente de programación
• Portabilidad
• Costo de Ejecución
• Costo de Creación, Prueba y Uso
Elaborado por: Ing. Víctor Valencia
Tras el desarrollo de las primeras computadoras surgió la necesidad de programarlas para
que realizaran las tareas deseadas.
Los lenguajes más primitivos fueron los denominados lenguajes máquina. Como el
hardware se desarrollaba antes que el software, estos lenguajes se basaban en el
hardware, con lo que cada máquina tenía su propio lenguaje y por ello la programación era
un trabajo costoso, válido sólo para esa máquina en concreto.
El primer avance fue el desarrollo de las primeras herramientas automáticas
generadoras de código fuente. Pero con el permanente desarrollo de las computadoras, y
el aumento de complejidad de las tareas, surgieron a partir de los años 50 los primeros
lenguajes de programación de alto nivel.
Con la aparición de los distintos lenguajes, solían aparecer diferentes versiones de un
mismo lenguaje, por lo que surgió la necesidad de estandarizarlos para que fueran más
universales. Las organizaciones que se encargan de regularizar los lenguajes son ANSI
(Instituto de las Normas Americanas) e ISO (Organización de Normas Internacionales).
Elaborado por: Ing. Víctor Valencia
• Ensamblador
• Fortran (IBM - 1957)
• Cobol (CODASYL/DoD - 1960)
1950 -
1960
• Basic ( John Kemeny y Thomas Kurtz - 1964)
• Pascal (Niklaus Wirth - 1970)
1961 -
1970
• C (Dennis Ritchie y Bell Labs - 1972)
• Prolog ( Alain Colmerauer , Philippe Roussel y otros - 1972)
• SQL (IBM – 1974/1986)
• Scheme (Guy L. Steele y Gerald Jay Sussman - 1975)
1971 -
1980
Elaborado por: Ing. Víctor Valencia
• C++ (Bjarne Stroustrup - 1983)
• Perl (Larry Wall - 1987)
• Haskell (Universidad de Yale y Glasgow - 1990)
• Python (Guido van Rossum – 1990/1991)
1981 –
1990
• Java (Sun Microsystems - 1995)
• Ruby (Yukihiro Matsumoto - 1995)
• PHP (Rasmus Lerdorf - 1995)
• D (Walter Bright -1999)
• C# (Microsoft – 2000/2001)
1991 –
2000
• Rust (Graydon Hoare/Mozilla - 2006)
• Go (Google - 2009)
• Dart (Google - 2011)
2001 –
Actualidad
Elaborado por: Ing. Víctor Valencia
Según su Nivel de
Abstracción
Bajo Nivel Medio Nivel Alto Nivel
Elaborado por: Ing. Víctor Valencia
Lenguajes de bajo nivel
Se llaman de bajo nivel porque están muy cercanos al hardware del ordenador. Es
necesario conocer a fondo la arquitectura de la máquina para la que se va a programar.
El primer lenguaje de este tipo que se utilizó fue el lenguaje máquina, que consiste en un
conjunto de instrucciones en binario, es decir, con ceros y unos, con los cuales se indica al
ordenador qué hacer. Este lenguaje es muy complicado y la posibilidad de cometer errores
es muy alta, por lo que ya no se utiliza.
Para solventar estas dificultades
...