UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERA CIVIL MECANICA DE FLUIDOS VILLAVICENCIO META 2014 INTRODUCCION El presente trabajo contiene todo el procedimiento que se debe seguir para la elaboracin de un programa de computador, como por ejemplo el paquete office, creado por la multinacional Microsoft ofreciendo herramientas para trabajar organizadamente llevando documentacin digital y realizando todo tipo de actividades desde el ordenador. El objetivo de la actividad es adquirir el conocimiento sobre los programas de computador y como se crean, mediante una consulta sobre el procedimiento y significado que tiene la elaboracin de ellos, los algoritmos que son una parte fundamental en el proceso de fabricacin de un programa se llev a la practica con un pequeo ejemplo de cmo calcular el caudal de un rio, con el fin de afianzar ideas con respecto a las pautas que se deben seguir en la ejecucin del programa computacional. Al realizar este trabajo se evidencia como mediante programas tecnolgicos se ha llevado a un mejor nivel la educacin y la facilidad para impartirla ya que brindan herramientas inmediatas para el estudiante y su fcil interaccin en la sociedad.
OBJETIVO GENERAL
Disear programas de computacional donde se empleen los algoritmos, utilizando las herramientas y lenguajes de programacin moderna.
OBJETIVOS ESPECIFICOS
Desarrollar algoritmos para la resolucin de problemas previamente conceptualizados.
Identificar y analizar el uso de lenguajes de programacin y herramientas computacionales.
ELABORACIN DE UN PROGRAMA DE COMPUTACIN
Se conoce como programacin al proceso para convertir especificaciones generales de un sistema en instrucciones utilizables por la mquina, que produzcan los resultados deseados. A esto tambin se le conoce como Desarrollo de Software. CODIFICACIN DE PROGRAMAS Es la generacin real del programa con un lenguaje de programacin. En esta etapa se hace uso de la lgica que desarroll en el paso del diseo del programa para efectivamente generar un programa. Se debe seleccionar el lenguaje apropiado para resolver el problema.
1. LENGUAJE DE PROGRAMACION: Es un conjunto de smbolos junto a un conjunto de reglas para combinar dichos smbolos que se usan para expresar programas. Constan de un lxico, una sintaxis y una semntica. Lxico: Conjunto de smbolos permitidos o vocabulario Sintaxis: Reglas que indican cmo realizar las construcciones del lenguaje Semntica: Reglas que permiten determinar el significado de cualquier construccin del lenguaje.
1.1. Tipos
Atendiendo al nmero de instrucciones necesarias para realizar una tarea especfica podemos clasificar los lenguajes informticos en dos grandes bloques:
Bajo Nivel Alto Nivel
1.1.1. Bajo Nivel
Es el tipo de lenguaje que cualquier computadora es capaz de entender. Se dice que los programas escritos en forma de ceros y unos estn en lenguaje de mquina, porque esa es la versin del programa que la computadora realmente lee y sigue.
1.1.2. alto Nivel
Son lenguajes de programacin que se asemejan a las lenguas humanas usando palabras y frases fciles de entender. En un lenguaje de bajo nivel cada instruccin corresponde a una accin ejecutable por el ordenador, mientras que en los lenguajes de alto nivel una instruccin suele corresponder a varias acciones.
1.2. SEGN LA FORMA DE EJECUCIN
1.2.1. Lenguajes compilados Los compiladores son aquellos cuya funcin es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje mquina con cdigo binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el cdigo.
1.2.2. Lenguajes interpretados
Se puede tambin utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el cdigo objeto que se produce durante la corrida de compilacin para utilizarlo en una corrida de produccin futura, el programador slo carga el programa fuente en la computadora junto con los datos que se van a procesar.
2. ALGORITMOS
2.1. Generalidades
El programador de computadoras es ante que nada una persona que resuelve problemas, por lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemtico (o sea en un orden establecido). A la metodologa necesaria para resolver problemas mediante programas se denomina Metodologa de la Programacin. El eje central de esta metodologa es el concepto de algoritmo. Un algoritmo es un mtodo para resolver un problema.
2.1.1. Pasos que se deben seguir en la elaboracin de algoritmos:
Leer el enunciado del problema cuantas veces sea necesario asta entenderlo completamente.
Determinar claramente con que datos de entrada se cuenta para la solucin del problema.
Aclarar y determinar la informacin o resultados que se solicitan.
a) informacin intermedia
b) informacin final. Definir que calculo y comparaciones se necesitan para llegar al resultado final. Clculos y comparaciones intermedia. Clculos y comparacin final. Generen cuenta toda clase de condiciones y restricciones para la solucin del problema. La falta de anlisis de algunos de estos trminos causara problema en el trascurso del desarrollo del algoritmo.
2.2. Anlisis de Algoritmos Un algoritmo es mejor cuantos menos recursos consuma. Criterio empresarial: Maximizar la eficiencia; y se encarga de los siguientes anlisis: Eficiencia: Relacin entre los recursos consumidos y los productos conseguidos. Recursos consumidos: Tiempo de ejecucin. Memoria principal: Entradas/salidas a disco. Comunicaciones, procesadores, etc. Lo que se consigue: Resolver un problema de forma exacta, forma aproximada o algunos casos. Recursos consumidos (Analizar los recursos de hardware que consumira)
2.3. Diseo de Algoritmos. En la etapa de diseo se determina como hace el programa la tarea solicitada. La resolucin de un problema complejo se realiza dividiendo el problema en sub problemas y a continuacin dividir estos sub problemas en otros de nivel ms bajo, hasta que pueda ser implementada una solucin en la computadora. Este mtodo se conoce tcnicamente como diseo descendente o modular. El proceso de romper el problema en cada etapa y expresar cada paso en forma ms detallada se denomina refinamiento sucesivo. Los programas estructurados de esta forma se dice que tienen un diseo modular y el mtodo de romper el programa en mdulos ms pequeo se llama Programacin Modular. Los mdulos pueden ser planeados, codificados, comprobados y depurados independientemente (incluso por diferentes programadores) y a continuacin combinarlos entre s. El proceso implica la ejecucin de los siguientes pasos hasta que el programa se termina:
Programar modulo. Comprobar el modulo. Si es necesario, depurar el modulo. Combinar el modulo con los mdulos anteriores. El proceso que convierte los resultados del anlisis del problema en un diseo modular con refinamiento sucesivo que permitan una posterior traduccin al Lenguaje se denomina diseo de algoritmo. El diseo del algoritmo es independiente del lenguaje de programacin en el que se vaya a codificar posteriormente. El acto de disear un algoritmo puede considerarse como una tarea que difcilmente podr ser del todo automatizada.
Todo problema algortmico es un reto para su diseador, algunos resultan inmediatos de resolver, otros son bastante complejos. La investigacin en esta rea ha permitido descubrir un conjunto de mtodos o esquemas de diseo hacia los cuales puede orientarse la realizacin de muchos algoritmos.
2.4. Caractersticas de los Algoritmos
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso. Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algn momento; o sea, debe tener un numero finito de pasos. La definicin de un algoritmo debe definir tres partes: Entrada, Proceso y Salida.
PROBLEMA: Cambiar la rueda pinchada de un automvil teniendo un gato mecnico en buen estado, una rueda de reemplazo y una llave inglesa.
ALGORITMO:
Inicio PASO 1. Aflojar los tornillos de la rueda pinchada con la llave inglesa. PASO 2. Ubicar el gato mecnico en su sitio. PASO 3. Levantar el gato hasta que la rueda pinchada pueda girar libremente. PASO 4. Quitar los tornillos y la rueda pinchada. PASO 5. Poner rueda de repuesto y los tornillos. PASO 6. Bajar el gato hasta que se pueda liberar. PASO 7. Sacar el gato de su sitio. PASO 8. Apretar los tornillos con la llave inglesa. Fin
3. DIAGRAMAS DE FLUJO DE DATOS (DFD)
3.1. Definicin Es la representacin grfica de flujo de un algoritmo o de secuencia rutinaria. Se basan en la utilizacin de diversos smbolos para representar operaciones especficas. Se les llama diagramas de flujo porque los smbolos utilizados se conectan por medio de flechas para indicar la secuencia de la operacin.
3.2. Caractersticas
En los diagramas de flujo se presuponen los siguientes aspectos:
Existe siempre un camino que permite llegar a una solucin (finalizacin del algoritmo). Existe un nico inicio del proceso. Existe un nico punto de fin para el proceso de flujo (salvo del rombo que indica una comparacin con dos caminos posibles).
3.3. Tipos de Diagrama de Flujo de Datos.
Formato vertical: En l el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la informacin que se considere necesaria, segn su propsito. Formato horizontal: En l, el flujo o la secuencia de las operaciones, va de izquierda a derecha. Formato panormico: El proceso entero est representado en una sola carta y puede apreciarse de una sola mirada mucho ms rpido que leyendo el texto, lo que facilita su comprensin, aun para personas no familiarizadas. Registra no solo en lnea vertical, sino tambin horizontal, distintas acciones simultneas y la participacin de ms de un puesto o departamento que el formato vertical no registra.
Formato Arquitectnico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectnico del rea de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos.
4. Compilador
4.1. Compilador o Traductor
En el caso de que el lenguaje fuente sea un lenguaje de programacin de alto nivel y el objeto sea un lenguaje de bajo nivel (ensamblador o cdigo de mquina), a dicho traductor se le denomina compilador. Un ensamblador es un compilador cuyo lenguaje fuente es el lenguaje ensamblador. Un intrprete no genera un programa equivalente, sino que toma una sentencia del programa fuente en un lenguaje de alto nivel y la traduce al cdigo equivalente y al mismo tiempo lo ejecuta.
5. ELABORACIN DE PROGRAMAS.
Los programas son los bloques de construccin de los sistemas de informacin. Cuando se hacen productos de software, los programadores siguen un proceso que se parece al ciclo de vida de los sistemas de informacin completos.
5.1. Anlisis de las necesidades.
Este anlisis es la etapa donde se identifica y entiende una necesidad o problema. En la primera etapa el programador revisa el diseo del programa para ver lo que el usuario necesita para hacer una interfaz y el punto de inicio, y adems lo que el usuario necesita que el programa realice.
5.2. Diseo del programa.
El diseo del programa es la fase done el programador comienza a aproximarse a la lgica que utilizaran cuando empiece la creacin de cdigo real.
5.3. Desarrollo. El desarrollo o codificacin se relaciona con la escritura y pruebas de cdigo fuente. La fuente de desarrollo del software es parecida a la fase de desarrollo del ciclo de vida de los sistemas, pero en lugar de determinar el diseo general del sistema, el programador escribe el cdigo que implementa los requerimientos del usuario. 5.4. Mantenimiento.
El mantenimiento comienza tan pronto como el programa ha sido instalado. El trabajo en los productos contina por distintas razones. Es probable que algunos errores menores no se hayan reparado en el momento en que el programa fue terminado.
PROBLEMA:
CONCLUSIN
Al realizar este trabajo nos llenamos de conocimientos bsicos sobre la programacin as como tambin del proceso que conlleva el Desarrollo de Software, de los elementos que en ella entran y de los pasos que son necesarios a la hora de la elaboracin de Software.