Metodología de la programación

MaTI.Jonathan Giovanni Soto Muñoz

¿Qué es un lenguaje?

Sistema de signos que utiliza una comunidad para comunicarse oralmente o por escrito.

Según wikipedia:
Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras.

¿Qué es un algoritmo?

Una serie de pasos organizados, finitos que llevan a un objetivo.

Tipos de algoritmos

  • Tiempo secuencial
  • Estado abstracto
  • Exploración acotada

Tiempo secuencial

Un algoritmo funciona en tiempo discretizado –paso a paso–, definiendo así una secuencia de estados computacionales por cada entrada válida (la entrada son los datos que se le suministran al algoritmo antes de comenzar).

Estado abstracto

Cada estado computacional puede ser descrito formalmente utilizando una estructura de primer orden y cada algoritmo es independiente de su implementación (los algoritmos son objetos abstractos) de manera que en un algoritmo las estructuras de primer orden son invariantes bajo isomorfismo.

Exploración acotada

La transición de un estado al siguiente queda completamente determinada por una descripción fija y finita; es decir, entre cada estado y el siguiente solamente se puede tomar en cuenta una cantidad fija y limitada de términos del estado actual.

¿De qué se compone un algoritmo?

  • Entrada
  • Proceso
  • Salida

Algoritmos Cotidianos.

Son aquéllos que nos ayudan a resolver problemas diarios, y que los hacemos casi sin darnos cuenta de que estamos siguiendo una metodología para resolverlos.

Lenguajes algorítmicos

Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.

  • 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 (pseudocódigo).

Diagrama de flujo

Se basan en la utilización de diversos símbolos para representar operaciones especificas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de la operación.

Pseudocódigo

En ciencias de la computación, y análisis numérico, el pseudocódigo (o falso lenguaje) es una descripción de alto nivel compacta e informal​ del principio operativo de un programa informático u otro algoritmo.

En la actualidad y por lo general, el pseudocódigo, como su nombre lo indica, no obedece a las reglas de sintaxis de ningún idioma en particular ni es de forma estándar sistemática, a pesar de que cualquier escritor en particular vaya a pedir prestado las estructuras de control general, la sintaxis y el estilo, por ejemplo, de algún lenguaje de programación convencional.
  • Describir cómo debe trabajar un algoritmo
  • Explicar un proceso de computación a personas con menos formación técnica
  • Diseñar código en un grupo colaborativo de desarrollo

No existe una sintaxis fija a la cual debes apegarte por completo, pero es común que por cuestiones de cortesía profesional se usen estructuras de pseudocódigo estándares que puedan entender fácilmente otros programadores

  • Inicio
  • secuencia
  • selección
  • iteración
  • declaración
  • según (caso)
  • En C, las "declaraciones de secuencia" son imperativas.
  • La "selección" es la declaración de tipo "si / entonces / si no".
  • La iteración se satisface a través de varias declaraciones diferentes, por ejemplo "mientras", "hacer" y "para".
  • La declaración "según (caso)" se satisface a través de la instrucción "switch" (cambiar o variar).

			PROGRAMA nombrePrograma 
			VARIABLES: 
			   a <- 0 
			   b <- 0
			   r <- 0
			PROCEDIMIENTO:
			    LEER a
			    LLER b

			    r = a+b

			    ESCRIBIR r 
			FINPROGRAMA
							

Metodología para la solución de problemas por medio de computadoras.

La solución de un problema por computadora, requiere de siete pasos, dispuestos de tal forma que cada uno es dependiente de los anteriores.

  • Definición del problema.
  • Análisis de los datos.
  • Diseño de la solución.
  • Codificación.
  • Prueba y depuración.
  • Documentación.
  • Mantenimiento.

Definición del problema.

Está dada en sí por el enunciado del problema, el cual debe ser claro y complejo. Es importante que conozcamos exactamente “que se desea obtener al final del proceso” ; mientras esto no se comprenda no puede pasarse a la siguiente etapa.

Análisis de los datos.

Consiste en establecer una serie de preguntas acerca de lo que establece el problema, para poder determinar si se cuenta con los elementos suficientes para llevar a cabo la solución del mismo, algunas preguntas son:

  • ¿Con qué cuento?
  • ¿Qué hago con esos datos?
  • ¿Qué se espera obtener?

Diseño de la solución.

Una computadora no tiene capacidad para solucionar problemas más que cuando se le proporcionan los sucesivos pasos a realizar, esto se refiere a la obtención de un algoritmo que resuelva adecuadamente el problema.

Codificación.

Consiste en escribir la solución del problema (de acuerdo al pseudocódigo); en una serie de instrucciones detalladas en un código reconocible por la computadora; es decir en un lenguaje de programación (ya sea de bajo o alto nivel), a esta serie de instrucciones se le conoce como PROGRAMA.

Prueba y depuración.

Una vez que se ha obtenido el programa ejecutable, este es sometido a prueba a fin de determinar si resuelve o no el problema planteado en forma satisfactoria.

Documentación.

En vista de que esta utilización no podrá ser supervisada en todas las ocasiones por el programador, debe crearse un manual o guía de operación que indique los pasos a seguir para utilizar el programa.

Mantenimiento.

Se refiere a las actualizaciones que deban aplicarse al programa cuando las circunstancias así lo requieran. Este programa deberá ser susceptible de ser modificado para adecuarlo a nuevas condiciones de operación.