2.4. Programas e instrucciones

 2.4. Programas e instrucciones


     En la metodología  de la programación  y en el desarrollo de los software,  se procede  a crear fórmulas para la resolución de problemas en el computador, por medio de la escritura de programas  como el diálogo entre el programador y el ordenador; es decir, lo empático  entre el usuario con la máquina, los lenguajes de programación posee fases  en la resolución  de problemas:

·          Análisis:

        El problema es analizado tomando siempre en cuenta los aspectos  o criterios dados en dicho problema, se refiere a la evaluación de todos los casos. Es la primera fase  que se conduce  a diseñarse  el algoritmo donde se defina los pasos para la resolución del problema. En esta fase,  cabe destacar que se deben hacer las siguientes cuestiones: ¿Cuántas entradas requieren y el tipo de datos que se emplearán? ¿ Qué cantidad y tipos de resultados se obtendrán? ¿Cuál es el método que se usa para generar los resultados o la salida deseada? Por ejemplo: se pide 2 números enteros y calcula el mínimo común múltiplo.

    El análisis del problema  conociendo  el procedimiento de resolución de un Mínimo Común Divisor  , se define el proceso MCM de algoritmo con la siguiente entrada de datos:  dos números (A y B) definidos como enteros, en el proceso se evalúa si uno de los números
es divisor, en la salida de los datos se esperan los resultados como lo visual , lo que se muestra en pantalla : (valores de A y B, y el mínimo común múltiplo) Éste proceso fue hecho en Pseint.

   1.       Algoritmo ProcesoMCM
2.      mcm<- 1;
3.       Escribir Sin Saltar “ ingrese el valor de A: “;
4.      Leer a;
5.      Escribir Sin Saltar “ Ingrese el valor de b:”;
6.      Leer B;
7.      Si a<0 Entonces
8.      a<- - a;
9.      Fin si
10.  Si b <0 Entonces
11.  b<- - b;
12.  Fin si
13.  divisor <- 2;
14.  Mientras divisor <= a o divisor  <= b divisor Hacer
15.  Mientras ( divisor <=a <- y a Mod divisor =0 ) o ( divisor <=b y b Mod =o)
16.    mcm <- mcm*divisor;
17.  Si divisor<= a y a Mod divisor = 0 Entonces
18.  a <- a/ divisor;
19.  Fin si 
                                  
 Para determinar el máximo común divisor de dos números ( MCM) por el algoritmo  se procede así:

1.      Dividir el mayor de los dos enteros positivos  por el más pequeño.
2.      A continuación  dividir el divisor  por resto.
3.       Continuar el proceso  de dividir el último  divisor  por el resto hasta que la división  sea exacta.
4.       El último divisor es el MCM .

·         Diseño:

      Luego del análisis del problema,  se diseña como bosquejo en busca de la solución conduciéndose de tal forma  a la construcción de los algoritmos. Se emplean los pseudocódigos, y los tipos de diagrama de flujo. Se determina  cómo se hace el programa  y en dicho proceso  se basa en  dividir el problema para vencer  en las soluciones de cada evento,  cuando nos topamos con un problema complejo, se emplea la fragmentación de dicho problema en otros sub problemas o derivados del mismo  colocándolo en niveles de solución. Dicho método se le atribuye como  el diseño descendente  o Top Down  o modular.

     Se rompe el problema  en niveles o etapas  en el que en cada uno de los pasos  se refina sucesivamente los detalles   en los subprogramas   que tiene un solo origen de entrada  para una determinada salida.

         En la programación modular ,  consta de un programa inicial  el nivel más alto que se desglosa en subprogramas  de niveles inferiores o más bajo  que se va estructurando, de tal forma que se van rompiendo en módulos más pequeños como especie de mapa conceptual u organigramas de la información, y, ese es el caso; es decir, que los módulos pueden de manera individual  ser diseñados o planificados, codificados, comprobados y depurados , que finalmente  el proceso implica los siguientes pasos:

PProgramación modularProgramación modular
1. Programar el módulo
2. Comprobar dicho módulo
3. Depurarlo en caso de ser necesario.
4.  Combinar  los módulos

los módulos

        El proceso los resultados en la fase de análisis en modular diseñado con los refinamientos  sucesivos  terminándose  con la traducción del lenguaje se le denomina como  el diseño del algoritmo  que va de acuerdo al lenguaje de programación  que se va decodificar luego.

     Para ser más explícitos, en le diseño del algoritmo,  la información proporcionada  al algoritmo que se entiende como la entrada de datos,  se transforma en la parte procedimental para producir  su salida de datos que son los resultados,  para ello el topdown  dising es el diseño descendente  que desglosa en problemas en subproblemas. En el caso de refinamiento  del algoritmo,    el stepwise refinement se procede en la solución  de los problemas  más complejos basándose  en niveles más simples , por ejemplo , se  desea que  calcula la circunferencia y la superficie de un círculo  que se logra descomponer en subproblemas como: para subproblema refinamiento, 1) leer radio,  2) calcular superficie   ( superficie = pi * R^2), 3) calcular circunferencia ( Circunferencia = 2 * pi* R) ,4) escribir los resultados ( radio, circunferencia, superficie). El problema se comprende  más fácil y en la programación modular es más factible localizar errores al comprobar el problema y sus modificaciones en caso de ser necesarios. 

     Los Diagramas de flujo ( flowchart)  son meras representaciones  gráficas de los algoritmos  en donde emplean símbolos  del ANSI ( Instituto Norteamericano de Normalización). Esta es una de las técnicas  para la representación de los algoritmos más empleada y es muy antigua,  se muestra la información imprimible en  cajas  entrelazadas unas a otras con flechas  que se les llama  líneas de flujo  señalan la secuenciación  de la ejecución  en la resolución del programa , dicha simbología  tienen las siguientes características:

Resultado de imagen para imagenes de tipos de diagrama de flujo informatica


     En la programación estructurada  ,  se conocen como los lenguajes procedimentales  en donde cada sentencia o instrucción señala al compilador  para que realice  tareas específicas  como la obtención de una salida como por ejemplo.  Este se emplea en lenguajes de alto nivel , donde el programador  crea una lista de instrucciones  en un lenguaje de programación   se tiende a ser muy complejo y es por ello que recurre a la programación modular en donde dicho problema se fragmenta en segmentos  menos complejos que adopten funciones  que suelen ser agrupadas , tal es el caso del lenguaje C.

Resultado de imagen para imagenes de tipos de diagrama de flujo informatica

·         Codificación: 

      Es la parte donde se hace la implementación  como la solución  escribiéndose la sintaxis  del lenguaje y se obtiene el programa fuente para que sea depurado tras la compilación. 

      Los peudocódigos  son herramientas de programación  en el que las instrucciones  se escriben en palabras  similares de inglés y en español  facilitando la escritura y lectura  de los programas en un lenguaje  de especificaciones que se basan en el diseño de los algoritmos.

     La codificación de un programa se basa  en la escritura de un lenguaje  de programación  en donde se representa dicho algoritmo  de forma individual del lenguaje del programa , para que sea implementado, el código de fuente  en otro lenguaje;   las instrucciones indicadas  en lenguaje natura  por el lenguaje de programación  se representan en homónimos sucesivos en inglés. 

      

·         Ejecución: 


          El programa se ejecuta  y básicamente, se va comprobando (verificando )  para comprobar si hay errores ( bugs en inglés)  para eliminarlos tras la depuración. 


·         Mantenimiento:


      Es cuando el programa se actualiza y se modifica para que se cumplan las necesidades del usuario.  En la compilación y ejecución de un programa  ya hecho la conversión del algoritmo en un programa fuente se almacena, ya que el programa fuente se convierte en u archivo del programa  en el que se debe de grabar,  el programa fuente  debe ser traducido   a un lenguaje máquina  en donde se realiza  la compilación  y proceso con el S/O  encargado de la compilación en curso.   Si suceden errores  en el programa fuente tras la compilación,  es necesario  reeditarlo de nuevo  para su corrección.   

        En el proceso de montaje   se conduce a la  producción  de las siguientes fase: 1)  Edición, 2)  Compiación , 3) Montaje o enlace;  ya creado el programa ejecutable,   se puede ejecutar  ( run)  desde el S/O  obteniéndose los resultados esperados de las instrucciones  para la compilación y ejecución del programa debido a que debería tener errores. 

           Durante la fase de verificación y compilación de un programa  en el proceso de ejecución   se tienen los datos del sistema que son una especie de test  que son pruebas  que determinarán si un programa  tiene errores  o bugs . Para verificarlo,   se evalúan los  valores de entrada , y en cuanto a la depuración,  es donde se procede a detectar  dichos errores  para corregir o eliminarlos.  Para explicar mejor esto,  se especifican tres cases de errores:

  1.             De compilación. Sucede que, normalmente  por el inadecuado uso  de las reglas de sintaxis en el lenguaje de programación.
  2.                De ejecución.  SE producen  por instrucciones  que el ordenador  aunque lo interprete no lo corre o ejecuta,  Es cuando se imprime un Error.
  3.                Lógicos . Son producidos por  error en el diseño  del algoritmo, son de difícil localización        debido a que el programa puede funcionar, pero  se advierte de resultados incorrectos. y entonces se  debe volver a la fase de diseño  del algoritmo , modificarlo, cambiar el fuente  y compilar para ejecutar.


          Para el mantenimiento del programa,  se desea corregir los errores a futuro; por lo tanto la documentación es clave de vida para el programa  ya que después da cada modig¿ficación,   la documentación es actualizada  así como de las  nuevas versiones  de dicho programa  que varían del primer y segundo dígito  , conocido como la variación de digital de las versiones  [ 1.0; 2.0...] 


·          Documentación:  

            Se refiere a la escritura de diferentes  ciclos de vida  del software   tal como en el análisis, el diseño  y el modo de codificación  que, conjuntamente  manuales  presentan las características del algoritmo ( jerarquía u orden de las realizaciones definiendo los pasos).    La documentación de un programa  se clasifica  de dos maneras: interna y externa. La primera ( documentación interna)  es donde se incluye el código  del programa fuente  por medio de comentarios  que ayudan a la comprensión del proceso del programa, el ordenador lo ignora pero facilita al usuario su análisis establecidos en líneas de comentarios .

              En sí,  los programas de escasa documentación son los más difíciles de leer y de depurar, así como de mantener y  modificar es difícil también; no obstante,  la documentación de un problema  se basa en describir los pasos de la solución.  En el caso de la segunda documentación (  documentación externa) , es la que incluye un análisis  diagramas de flujo y pseudocódigos  para una mayor interpretación de los resultados.
           
Referencias:

Luis Joyanes Aguilar. QA. 9.58. J.68, 2008 . edic. 3


Página principal



Comentarios

  1. Básicamente es un blog donde el freeback de saberes acentúa los conocimientos adquiridos y refuerza lo aprendido.
    Se presenta una tabla de contenido donde se especifican cada una de las temáticas que se abordan en las diversas asignaturas de la carrera de informática.
    Esta humilde servidora ,estudiante nuevo ingreso está dando lo mejor de si para empaparse de cada uno de los tópicos de este estudio . de antemano les agradezco a todos.

    ResponderBorrar

Publicar un comentario