Download Diapositiva 1 - Web del Profesor

Document related concepts

Programación funcional wikipedia , lookup

Lisp wikipedia , lookup

J (lenguaje de programación) wikipedia , lookup

Máquina de Turing wikipedia , lookup

Transcript
UNIVERSIDAD DE LOS ANDES
NUCLEO UNIVERSITARIO “RAFAEL RANGEL”
PROGRAMACION DIGITAL
DESARROLLO DE PROGRAMAS
Prof: Ing. Frank Delgadillo
[email protected]
INTRODUCCION
La computadora no solamente es una maquina que puede realizar procesos para
darnos resultados, sin que tengamos la noción exacta de las operaciones que
realiza para llegar a ellos.
Con la computadora podemos también diseñar soluciones a la medida, de
problemas específicos que se nos presenten. Mas aun, si estos involucran
operaciones matemáticas complejas y/o repetitivas, o requieren del manejo de un
volumen muy grande de datos. El diseño de soluciones a la medida de nuestros
problemas, requiere como en otras disciplinas una metodología que nos enseñe
de manera gradual, la forma de llegar a estas soluciones. A las soluciones creadas
por la computadora se les conoce como programas y no son mas que una serie
de operaciones que realiza para llegar a un resultado, con un grupo de datos
específicos.
INTRODUCCION
Lo anterior nos lleva al razonamiento de que un programa nos sirve para
solucionar un problema especifico. Para poder realizar programas, además de
conocer la metodología mencionada, también debemos de conocer, de manera
especifica las funciones que puede realizar la computadora y las formas en que se
pueden manejar los elementos que hay en la misma.
“ El desarrollo de algoritmos es un tema fundamental en el diseño de
programas por lo cual el alumno debe tener buenas bases que le sirvan para
poder desarrollar de manera fácil y rápida sus programas.”
CONCEPTOS BASICOS
Programa:
Es un conjunto o secuencia finita de ordenes o instrucciones que se
dan a una computadora para realizar un proceso determinado, es decir,
proporciona una solución a una tarea o problema especifico.
•Un programa instruye al computador sobre lo que debe hacer y/o como
debe ejecutar una tarea de computación.
•Cada programa es traducido al código de máquina y ejecutado en base a
las reglas semánticas del LP (LENGUAJE DE PROGRMACION)
•Los programas se escriben usando los constructos (Gramática) de un LP
y siguiendo sus reglas sintácticas.
CONCEPTOS BASICOS
Características de un Programa
1. Legibilidad: Ha de estar escrito de tal forma que facilite su lectura y
comprensión.
2. Portabilidad: Su diseño debe permitir la codificación en diferentes
lenguajes de programación, así como su instalación en diferentes sistemas.
3. Modificabilidad: Ha de facilitar su mantenimiento, esto es, las
modificaciones y actualizaciones necesarias para adaptarlo a una nueva
situación.
4. Eficiencia: Se deben aprovechar al máximo los recursos del computador,
minimizando la memoria utilizada y el tiempo de proceso o ejecución.
5. Modularidad: Ha de estar subdividido en bloques o módulos, cada uno de
los cuales realizara una parte del conjunto del trabajo.
6. Estructuración: Debe cumplir las reglas de la programación estructurada
para facilitar la verificación, depuración y mantenimiento del programa.
CONCEPTOS BASICOS
Lenguaje:
Es una serie de símbolos que sirven para transmitir uno o mas mensajes
(ideas) entre dos entidades diferentes. A la transmisión de mensajes se le
conoce comúnmente como comunicación.
La comunicación es un proceso complejo que requiere una serie de reglas
simples, pero indispensables para poderse llevar a cabo. Las dos
principales son las siguientes:
.- Los mensajes deben correr en un sentido a la vez.
.- Debe forzosamente existir 4 elementos: Emisor, Receptor, Medio de
Comunicación y Mensaje.
Lenguajes de Programación
Es un conjunto de símbolos, caracteres y reglas (programas) que le
permiten a las personas comunicarse con la computadora.
Los lenguajes de programación tienen un conjunto de instrucciones que nos
permiten realizar operaciones de entrada/salida, calculo, manipulación de
textos, lógica/comparación y almacenamiento/recuperación.
CONCEPTOS BASICOS
El lenguaje de programación (LP)
Es la herramienta básica de que dispone un programador a la hora de crear un
programa. Es una notación para escribir programas, a través de los cuales
podemos “comunicarnos con el hardware” y dar así las ordenes adecuadas
para la realización de un determinado “proceso”. Un LP, esta definido por una
“Gramatical” o conjunto de reglas que se aplican a un “alfabeto” constituido por
el conjunto de símbolos utilizados.
Un LP es entonces, un lenguaje artificial (sistema de símbolos o constructos)
empleado para instruir al computador sobre la ejecución de tareas de
computación.
•
•
•
•
Es un conjunto de símbolos, caracteres y reglas que le permiten a las
personas comunicarse con la computadora
Es una notación para escribir programas" (Sethi, 1992).
Los lenguajes de programación tienen un conjunto de instrucciones que
nos permiten realizar operaciones de entrada/salida, calculo, manipulación
de textos, lógica/comparación y almacenamiento/recuperación
Surgen como un canal de comunicación entre máquina y usuario para la
realización de tareas específicas.
CONCEPTOS BASICOS
Los lenguajes de programación se clasifican en:
Lenguaje Maquina: Son aquellos cuyas instrucciones son directamente
entendibles por la computadora y no necesitan traducción posterior para
que la CPU pueda comprender y ejecutar el programa. Las instrucciones en
lenguaje maquina se expresan en términos de la unidad de memoria mas
pequeña el bit (dígito binario 0 o 1).
Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones
se escriben en códigos alfabéticos conocidos como mnemotécnicos para
las operaciones y direcciones simbólicas.
Lenguaje de Alto Nivel: Los lenguajes de programación de alto nivel (BASIC,
pascal, cobol, fortran, etc.) son aquellos en los que las instrucciones o
sentencias a la computadora son escritas con palabras similares a los
lenguajes humanos (en general en ingles), lo que facilita la escritura y
comprensión del programa.
CONCEPTOS BASICOS
TIPOS DE LENGUAJES DE PROGRAMACION:
1. Funcional:
Los lenguajes de programación funcional no requieren que se construya un
algoritmo que exprese como se tiene que resolver el problema, sino que se
tienen que describirlos elementos (funciones) que a servir para resolverlo.
2. Imperativa:
Son los lenguajes de programación más difundidos y son adecuados para resolver
aquellos problemas que tienen soluciones expresables en un algoritmo. Dentro
de este grupo están los lenguajes Pascal, Cobol, Basic y Fortran.
3. Lógica:
En estos lenguajes se definen los programas en función de un conjunto de reglas
y asertos (afirmaciones). Para obtener resultados de un programa, se hacen
preguntas a la computadora, y ésta, en función de las reglas y afirmaciones
que tiene almacenadas, responde. Este tipo de lenguaje informático es muy
utilizado en áreas como la inteligencia artificial, puesto que tratan de simular la
forma de razonamiento humano.
CONCEPTOS BASICOS
TIPOS DE LENGUAJES DE PROGRAMACION:
4.Orientada a Objeto:
En la programación orientada a objetos se examinan el universo del problema en
términos de “entidades”y de relaciones entre esas entidades. Las entidades son
representadas como objetos
en el programa. El objetivo es tener una
correspondencia entre entidades en el problema físico y objetos en el programa.
EVOLUCION DE LOS LENGUAJES
Lenguajes
declarativos
DEFINICION DE ALGORITMO
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe
alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un
tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que
se debe seguir, para dar solución a un problema especifico.
Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan
la lógica de un programa.
Tipos de Algoritmos
•
Cualitativos: Son aquellos en los que se describen los pasos utilizando
palabras.
•
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para
definir los pasos del proceso.
DEFINICION DE ALGORITMO
Tipos de Lenguajes Algoritmicos
•
Gráficos: Es la representación gráfica de las operaciones que realiza un
algoritmo (diagrama de flujo).
•
No Gráficos: Representa en forma descriptiva las operaciones que debe
realizar un algoritmo (pseudocodigo).
CARACTERISTICAS DE LOS ALGORITMOS
1. Finitud
El algoritmo debe terminar en un númerofinito de pasos.
Un procedimiento que posee todas lascaracterísticas de un algoritmo,
excepto,posiblemente, la finitud, recibe el nombre de método
computacional.
En la práctica, se requiere que el número no sólo sea finito, sino muy
finito.
CARACTERISTICAS DE LOS ALGORITMOS
2.Definibilidad
Cada paso de un algoritmo debe definirse de un modo preciso; las acciones
a realizar deben estar especificadas rigurosamente y sin ambigüedad.
Para salvar esta dificultad, se han creado lenguajes de programación. En estos
lenguajes cada frase tiene un significado muy definido. La expresión de un
método computacional en uno de estos lenguajes se denomina programa.
3.Entrada
Un algoritmo tiene cero o más entradas.
4.Salida
Un algoritmo tiene cero o más salidas.
5.Efectividad
Un algoritmo debe ser efectivo. Todas las operaciones deben ser lo
bastante básicas para ser efectuadas de modo exacto y en un tiempo finito
por un humano utilizando lápiz y papel. Un ejemplo de paso no efectivo
sería “si
m es mayor que la cantidad de números primos gemelos entonces m=m+1”.
METODOLOGIA PARA EL DESARROLLO DE PROGRAMAS