Introduccion A La Programación
surfer2025 de Noviembre de 2012
10.272 Palabras (42 Páginas)396 Visitas
1. Diagrama de flujo:
Un diagrama de flujo es una representación pictórica de los pasos de un proceso, útil para determinar como funciona realmente el proceso para producir un resultado. El resultado puede ser un producto, un servicio, información o una combinación de los tres.
1.1. Características:
• Capacidad de Comunicación.
Permite la puesta en común de conocimientos individuales sobre un proceso y
facilita la mejor comprensión global del mismo.
• Claridad.
Proporciona información sobre los procesos de forma clara, ordenada y concisa.
1.2. Ventajas de los diagramas de flujo.
• Rápida comprensión de las relaciones.
• Se pueden usar como modelos de trabajo para el diseño de nuevos programas.
• Documentación adecuada de los programas.
• Produce una codificación eficaz en los programas.
• Depuración y pruebas ordenadas de programas.
• Fácil de traducir a cualquier lenguaje de programación.
1.3. Tipos de diagrama de flujo.
Por su presentación:
a. De bloque: Se representan en términos generales con el objeto de destacar determinados aspectos.
b. De detalle: Plasman las actividades en su más detallada expresión.
Por su formato:
a. De formato vertical: En el que el flujo de las operaciones va de arriba hacia abajo y de derecha a izquierda.
b. De formato horizontal: En el que la secuencia de las operaciones va de izquierda a derecha en forma descendente.
c. De formato tabular: También conocido como de formato columnar o panorámico, en el que se presenta en una sola carta el flujo total de las operaciones, correspondiendo a cada puesto o unidad una columna.
d. De formato arquitectónico: Muestra el movimiento o flujo de personas, formas, materiales, o bien la secuencia de las operaciones a través del espacio donde se realizan.
Por su propósito:
a. De forma: El cual se ocupa fundamentalmente de documentos con poca o ninguna descripción de operaciones con poca o ninguna descripción de operaciones.
b. De labores: Indica el flujo o secuencia de las operaciones, así como quién o en donde se realiza y en qué consiste ésta.
c. De método: Muestra la secuencia de operaciones, la persona que las realiza y la manera de hacerlas.
d. Analítico: Describe no sólo el procedimiento quién lo hace, y cómo hacer cada operación, sino para qué sirven.
e. De espacio: Indica el espacio por el que se desplaza una forma o una persona.
f. Combinados: Emplean dos o más diagramas en forma integrada.
g. De ilustraciones y texto: Ilustra el manejo de la información con textos y dibujos.
h. Asistido por computadora: El flujo de información se hace con recursos de software.
1.4. Simbología y significado de los Diagramas de Flujo.
2. Algoritmo.
2.1. Definiciones formales:
• Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo más finito. [Donald E. Knuth, 1968]
• Descripción de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomina léxico [Pierre Scholl, 1988].
• Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004].
2.2. Medios de expresión de un algoritmo.
2.2.1. Diagrama de flujo: Ampliamente descrito en la sección 1.
2.2.2. Pseudocódigo: En programación, lenguaje artificial e informal útil para programadores para el desarrollo de algoritmos. No es un lenguaje de programación verdadero y, por lo tanto, no puede ser compilado y ejecutado.
2.2.3. Sistemas formales: La teoría de autómatas y la teoría de funciones recursivas proveen modelos matemáticos que formalizan el concepto de algoritmo. Los modelos más comunes son la máquina de Turing (Alan Mathison Turing, Matemático Británico (Londres, 1912-Wilmslow, Reino Unido, 1954)), máquina de registro (En lógica matemática y en ciencias de la computación teórica, una máquina de registro es una clase genérica de máquinas abstractas usadas en una manera similar a una máquina de Turing. Todos los modelos son Turing equivalente) y funciones μ-recursivas (En lógica matemática y computación, son una clase de funciones de los números naturales en los números naturales que son «computables» en un sentido intuitivo. De hecho, en teoría de la computabilidad se demuestra que las funciones recursivas son precisamente las funciones que pueden ser calculadas con el formalismo de cómputo más general conocido como lo son las máquinas de Turing). Estos modelos son tan precisos como un lenguaje máquina, careciendo de expresiones coloquiales o ambigüedad, sin embargo se mantienen independientes de cualquier computadora y de cualquier implementación.
2.2.4. Implementación: Codificación o Implementación, es el proceso de traducir un algoritmo a un lenguaje de programación, por ejemplo Java.
Muchos algoritmos son ideados para implementarse en un programa. Sin embargo, los algoritmos pueden ser implementados en otros medios, como una red neuronal, un circuito eléctrico o un aparato mecánico y eléctrico.
Algunos algoritmos inclusive se diseñan especialmente para implementarse usando lápiz y papel. El algoritmo de multiplicación tradicional, el algoritmo de Euclides, la criba de Eratóstenes y muchas formas de resolver la raíz cuadrada son sólo algunos ejemplos.
2.2.5. Variable: En programación, una variable es un espacio de memoria reservado para almacenar un valor que corresponde a un tipo de dato soportado por el lenguaje de programación. Una variable es representada y usada a través de una etiqueta (un nombre) que le asigna un programador o que ya viene predefinida.
Por ejemplo, en la variable de nombre "num" se almacena el número 8 (de tipo entero). De forma genérica, para utilizarla y sumarle un uno se debería programar: num = num + 1. Una variable puede ser del tipo boleano, entero, decimal de coma flotante, caracter, cadena de texto, arreglo, matriz, tipo definido por el usuario, etc. Estos son tipos de datos.
Una variable, por lo general, como su nombre lo indica, puede variar su valor durante la ejecución del programa. Dependiendo del lenguaje de programación usado, también puede cambiar el tipo de dato que almacena.
2.2.6. Estructuras secuenciales: Una estructura de programa es secuencial si se ejecutan una tras otra a modo de secuencia, es decir que una instrucción no se ejecuta hasta que finaliza la anterior.
Ejemplo:
INPUT x
INPUT y
auxiliar= x
x= y
y= auxiliar
PRINT x
PRINT y
Esta secuencia de instrucciones permuta los valores de x e y, con ayuda de una variable auxiliar, intermedia.
• 1º Se guarda una copia del valor de x en auxiliar.
• 2º Se guarda el valor de y en x, perdiendo su valor anterior, pero se mantiene una copia del contenido en auxiliar.
• 3º Se copia a y el valor de auxiliar, que es el valor inicial de x.
• El resultado es el intercambio de los valores entre x e y, en tres operaciones secuenciales.
Las operaciones se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. La asignación de esto consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma:
1. Simples: Consiste en pasar un valor constante a una variable (a ← 15)
2. Contador: Consiste en usarla como un verificador del número de veces que se realiza un proceso (a ← a + 1)
3. Acumulador: Consiste en usarla como un sumador en un proceso (a ← a + b)
4. De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a ← c + b*2/4).
2.3. Algoritmos como funciones.
Un algoritmo se puede concebir como una función que transforma los datos de un problema (entrada) en los datos de una solución (salida). Más aun, los datos se pueden representar a su vez como secuencias de bits, y en general, de símbolos cualesquiera.
Como cada secuencia de bits representa a un número natural, entonces los algoritmos son en esencia funciones de los números naturales en los números naturales que sí se pueden calcular. Es decir que todo algoritmo calcula una función
, donde cada número natural es la codificación de un problema o de una solución.
En ocasiones los algoritmos son susceptibles de nunca terminar, por ejemplo, cuando entran a un bucle infinito. Cuando esto ocurre, el algoritmo nunca devuelve ningún valor de salida, y podemos decir que la función
...