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.
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
modular•Programació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:
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.
·
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:
- De compilación. Sucede que, normalmente por el inadecuado uso de las reglas de sintaxis en el lenguaje de programación.
- De ejecución. SE producen por instrucciones que el ordenador aunque lo interprete no lo corre o ejecuta, Es cuando se imprime un Error.
- 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:
Básicamente es un blog donde el freeback de saberes acentúa los conocimientos adquiridos y refuerza lo aprendido.
ResponderBorrarSe 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.