You are on page 1of 13

Algortmica y Programacin

Metodologa para el Anlisis y Planteamiento de Problemas


Las fases en la construccin de un programa para resolver un problema mediante
la computadora son, en orden, las siguientes:
Anlisis del problema
Diseo del algoritmo
Programacin
Ejecucin y pruebas
El paso cero sera Entender el problema, parece banal, pero no lo es cuando se
piensa en la gran cantidad de proyectos de computacin que se desarrollaron sin
haber comprendido bien para que se hacan, o cual era el problema que
supuestamente iban a resolver.
Comprender la importancia de entender con claridad el problema antes de
abocarnos a encontrar una solucin.

Algortmica y Programacin
Anlisis del problema

El anlisis consiste en una clara definicion del problema, donde se


contemple exactamente lo que debe hacer el programa y el resultado o
solucion deseada.
Dado que se busca una solucin por computadora, se precisan
especificaciones detalladas de entradas y salidas.
Para resolver un problema con un computador hay que disponer de los
datos de entrada, estudiar el tratamiento que se ha de realizar a dichos
datos, la informacin que se desea obtener como resultado y de que
manera debe presentarse.

Algortmica y Programacin

Es decir, despus de analizar el problema, se han de conocer claramente tres cosas.

Datos de Entrada de que se dispone


Proceso o Tratamiento que ha de realizarse con estos datos.
Informacin de salida deseada.

Una de las tcnicas mas empleadas recibe el nombre de H.I.P.O. (Hierarchy the plus
input process output) que consiste en esquematizar cada programa, o una parte
del mismo en los tres bloques.

E
N
T
R
A
D
A

P
R
O
C
E
S
O

S
A
L
ID
A

Algortmica y Programacin

Ejemplo
Sin entrar en el campo de la informtica, para hacer la nmina de los mejores
alumnos de una carrera, se necesita saber:

ENTRADA: Los datos de cada uno de los alumnos y si estos datos estn en papel o
en un fichero donde est toda la informacin de los alumnos.
PROCESO: La frmula matemtica para calcular el promedio de notas es:
(nota 1 + nota 2 + nota 3 + .....+ nota n) / cantidad de notas
SALIDA: El modelo del informe donde se desean imprimir el promedio de los
alumnos.

Algortmica y Programacin
Diseo del algoritmo
Teniendo en cuenta que un algoritmo es un mtodo para resolver problemas, una
vez analizado el mismo se precisa disear un algoritmo que indique claramente los
pasos a seguir para resolverlo.
Para realizar un determinado proceso, se le debe suministrar al computador una
frmula para la resolucin de un problema (algoritmo), cuyo diseo debe ser
independiente de la computadora que resuelve el problema.
Dada la importancia del algoritmo en la ciencia de la computacin, un aspecto muy
importante ser el diseo del algoritmo.
En esta etapa se realizar una representacin de la secuencia. Estas
representaciones son las herramientas de: diagramas de flujo y pseudocdigos.

Algortmica y Programacin
Programacin
Una vez que el diagrama de flujo o el algoritmo de resolucin del problema est
definido se pasa a la fase de codificacin del programa en cualquier lenguaje (C,
C++, Java, ) cuyo resultado ser el programa fuente, el cual sigue las reglas de
sintaxis que el lenguaje escogido exija.
Despus de codificado el programa, se introduce en el computador mediante unos
programas especiales llamados editores.
Una vez dentro del computador, el programa deber ser traducido al nico lenguaje
que ste entiende: Lenguaje de mquina. Dicha operacin se realiza mediante el
correspondiente programa traductor o compilador del lenguaje en el que est
escrito el programa.
PR
O
G
R
AM
AC
IO
N

ANALISIS

ALG
O
RITM
O

C
O
D
IFIC
AC
IO
N

EDICIO
N

TRADUCCIO
N

Algortmica y Programacin
Ejecucin y pruebas.
El hecho de haber diseado un buen algoritmo y luego haberlo codificado en algn
lenguaje de programacin no significa que el programa resuelva correctamente el
problema en cuestin.
Por eso, antes de dar por finalizada cualquier labor de programacin, es
fundamental preparar un conjunto de datos lo ms representativo posible del
problema, que permitan probar el programa cuando se ejecute y as verificar los
resultados.
Cuanto ms exhaustivas sean las pruebas de un programa, mayor seguridad se
tendr de que ste funcione correctamente y, por lo tanto, menor posibilidad de
errores.

El programa se considera terminado cuando se han realizado pruebas y ensayo de


su fiabilidad con el conjunto de datos seleccionados y otros nuevos, hasta incluso
con datos reales, y no se encuentren errores de ningn tipo.

Algortmica y Programacin
Como ya se mencion anteriormente, un algoritmo es un conjunto de acciones que se han
de ejecutar para la resolucin de un problema. A cada una de estas acciones se le denomina
Instruccin o Sentencia.

Un conjunto de Instrucciones forma un programa. Las instrucciones se deben escribir y


luego almacenar en memoria en el mismo orden en que han de ejecutarse, es decir, en
secuencia.
Las instrucciones bsicas que se pueden implementar en un algoritmo soportan todos los
lenguajes de programacin. Dicho de otro modo, las instrucciones bsicas son
independientes del lenguaje de programacin.
La clasificacin ms corriente es:
Instrucciones de Comienzo y Fin
Instrucciones de transferencia
Instrucciones de entrada
Instrucciones de salida
Instrucciones de control

Algortmica y Programacin
Instrucciones de Comienzo y Fin

Son las instrucciones que ordenan el comienzo o fin del algoritmo.


Todo programa debe comenzar con la instruccin INICIO o COMENZAR
o su simbologa correspondiente
Todo programa debe finalizar con la instruccin FIN o PARAR o su
simbologa correspondiente.

Algortmica y Programacin
Instrucciones de transferencia
Aritmticas

Las operaciones aritmticas tienen dos etapas: la ejecucin de la operacin, que


implica la obtencin de un resultado y una transferencia para almacenar en un
campo de la memoria el resultado obtenido.
La forma general de la instruccin aritmtica es:
a b
o a=b
donde:
a es el nombre de una variable donde se almacena el resultado de b, y b es
una
expresin aritmtica
ANTES
10

20

Ejemplo: Sumar el contenido de los campos A y B


La instruccin sera:AC A + B
o BC = A + B
DESPUES

10

20

30

Algortmica y Programacin
Instrucciones de entrada

Esta instruccin introduce datos desde algn dispositivo de entrada, , por


ejemplo, el teclado e implica la introduccin de esos datos en la memoria
principal del computador.
Ejemplo
Si se tiene una instruccin de este tipo:
1. Leer (A, B, C)
Lo que se lee es 10, 20, 30 y se asignarn a las variables los siguientes valores:
A = 10
B = 20
C = 30
2. Leer (Nombre, Domicilio)
Lo que se lee es Juana, San Juan 1220 y se asignarn a las variables lo siguiente:
Nombre = Juana
Domicilio = San Juan 1220

Algortmica y Programacin
Instrucciones de salida
Permiten la salida de datos desde la memoria principal del computador hacia
dispositivos externos de salida, por ejemplo impresoras, pantalla, disco duro.

DISPOSITIVO
EXTERNO

MEMORIA
PRINCIPAL

Ejemplo:
Si queremos imprimir o visualizar en pantalla los valores de las variables
anteriores A, B y C, el resultado sera: 10, 20, 30

Algortmica y Programacin
Instrucciones de control

El modo en que un computador ejecuta las instrucciones


contenidas en un programa es, normalmente, secuencial; es decir,
una detrs de otra en el orden que estn escritas. Sin embargo, si
esta fuera la nica forma de ejecucin posible, el programa tendra
que realizar siempre las mismas acciones, independientemente de
los datos que se le dieran de entrada en cada ejecucin.
Con el fin de poder dotar a los programas de cierta capacidad de
decisin sobre los tratamientos que debe aplicar a cada caso, los
lenguajes de programacin permiten la definicin de instrucciones
de control distintas a la secuencial. Este es el caso de las
instrucciones condicionales e incondicionales.

Esto ser estudiado ms adelante.

You might also like