You are on page 1of 8

Gua I: Programacin

Ing. Analui Martnez de Gmez 1


Algoritmo:
Conjunto de acciones o pasos que se ejecutan en un orden determinado para resolver un problema
planteado.

Ejemplos de algoritmos no informticos:
Receta de cocina
Una partitura musical
Los planos con las instrucciones para construir una casa

La principal razn por la que las personas aprenden a programar es para utilizar el ordenador como
una herramienta para la resolucin de problemas. Ayudado por un ordenador, la obtencin de la
solucin a un problema se puede dividir en dos fases:

Ayudado por un ordenador, la obtencin de la solucin a un problema se puede dividir en dos fases:
1) fase de resolucin del problema
2) fase de implementacin en el ordenador.














El resultado de la primera fase es el diseo de un algoritmo, que no es ms que una secuencia
ordenada de pasos que conduce a la solucin de un problema concreto, sin ambigedad alguna, en un
tiempo finito. Slo cuando dicho algoritmo haya sido probado y validado, se deber entrar en
detalles de implementacin en un determinado lenguaje de programacin; al algoritmo as expresado
se denomina programa.

Caractersticas de los Algoritmos
Debe ser preciso e indicar el orden de realizacin de cada paso.
Debe estar bien definido, si se repite n veces los pasos se debe obtener siempre el mismo
resultado.
Debe ser finito, debe tener un nmero finito de pasos.
Independiente del lenguaje que se utilice.

Gua I: Programacin
Ing. Analui Martnez de Gmez 2
Pasos para resolver un problema un problema
Anlisis del problema: es el primer paso para identificar el problema, se debe considerar lo
que est pidiendo el problema, con qu elementos se cuenta y cules se debe solicitar para
establecer el camino a seguir para solucionar el problema.
Diseo del Algoritmo: es la segunda fase, se deben identificar los procesos mas importantes
y colocarlos en orden ascendente segn su importancia y precedencia para as obtener un
algoritmo inicial, el cual podr ser refinado varias veces hasta obtener una solucin mas
detallada y mas fcil de traducir a un lenguaje de programacin.
Verificacin del Algoritmo: es la ltima fase, ya realizado el algoritmo se debe comprobar
que cumple con los procesos ideados y produce el resultado esperado por medio de una
prueba manual.

Las estrategias seguidas usualmente a la hora de encontrar algoritmos para problemas
complejos son:

1) Particin o divide y vencers: consiste en dividir un problema grande en unidades ms pequeas
que puedan ser resueltas individualmente.
Ejemplo: Podemos dividir el problema de limpiar una casa en labores ms simples correspondientes a
limpiar cada habitacin.
2) Resolucin por analoga: Dado un problema, se trata de recordar algn problema similar que ya
est resuelto. Los dos problemas anlogos pueden incluso pertenecer a reas de conocimiento
totalmente distintas. Ejemplo: El clculo de la media de las temperaturas de los estados orientales y
las medias de las notas de los alumnos de una clase se realiza del mismo modo.

Evidentemente la conjuncin de ambas tcnicas hace ms efectiva la labor de programar: dividir un
problema grande en trozos ms pequeos ya resueltos.

Ejemplo:

Consideremos el problema de calcular la longitud y la superficie de crculo dado su radio. Este
problema se puede dividir en cuatro subproblemas:
1) Lectura, desde el teclado, de los datos necesarios.
2) Clculo de la longitud.
3) Clculo de la superficie.
4) Mostrar los resultados por pantalla.

El problema ha quedado reducido a cuatro subproblemas ms simples. La solucin a cada uno de
estos subproblemas es un refinamiento del problema original.

Herramientas para Disear Algoritmos
Las dos herramientas ms utilizadas comnmente para disear algoritmos son: diagramas de flujo y
pseudocdigos.

Gua I: Programacin
Ing. Analui Martnez de Gmez 3
Diagramas de Flujo

Un diagrama de flujo (flowchar) es una representacin grfica de un algoritmo. Un diagrama de flujo
es adecuado cuando se desea obtener mayor detalle, tal como agregar bifurcaciones de
condicionales y/o iteraciones.

Un diagrama de flujo puede reflejar:

El comienzo del programa.
Las operaciones que el programa realiza.
El orden en que se realizan.
El final del programa.

Caractersticas:

Representacin grafica de la secuencia de pasos a realizar.
Las operaciones se escriben en smbolos normalizados.
Las lneas de flujo indican el orden de ejecucin.

Los smbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalizacin
(ANSI), y los ms frecuentemente empleados se muestran a continuacin:






















Gua I: Programacin
Ing. Analui Martnez de Gmez 4

Smbolos Significado



Reglas para la construccin de diagramas de flujos:
El comienzo del programa figurara en la parte superior del diagrama.
Los smbolos de comienzo y fin debern aparecer una nica vez.
Lneas de flujo: sirve para conectar los smbolos del diagrama
Proceso: indica la accin que tiene que realizar la computadora.
Dentro se escribe la accin. A este smbolo entra y sale solo una lnea
de flujo.
Condicin: dentro del rombo se coloca la condicin, al encontrar este
smbolo se evala la condicin que hay dentro. Segn la condicin sea
falsa o verdadera se toma un camino u otro. Representa estructuras
selectivas o repetitivas. A este smbolo entra solo una lnea de flujo
y salen dos.
Condicin Mltiple: dentro del rombo se coloca la condicin, al
encontrar este smbolo se evala la condicin que hay dentro. Se
cumple solo una de las diferentes alternativas.
Principio y Fin: dentro del smbolo va la palabra inicio y fin. De
inicio sale una lnea de flujo y de fin entra solo una lnea de
flujo.
Pantalla: salida por pantalla. Entra y sale una lnea de flujo.
Teclado: representa una entrada por teclado.
Impresora: representa una salida por la impresora.
Conectores: sirven cuando un flujograma no cabe en una columna de
la hoja y hay que seguir en otra columna. Se colocan uno donde
termina la columna y otro donde empieza.
El primero es la misma hoja y el segundo en una hoja distinta
Gua I: Programacin
Ing. Analui Martnez de Gmez 5
El flujo de las operaciones ser de arriba abajo y de izquierda a derecha.
Se debe guardar cierta simetra en la representacin de bifurcaciones y bucles.
Se evitarn los cruces de lneas de flujo, utilizando conectores.
Variables y Operaciones
Variables:
Numricas: Enteros, Punto Flotante
Alfanumricas: Carcter, Cadena de caracteres
Operaciones:
Asignacin: =
Comparacin: =?
Aritmticas: +, -, *, /, ** (potenciacin)
Lgicas: >, <, =, >=, <=,


Ejemplos

1 Hacer el diagrama de flujo para sumar dos nmeros ledos por teclado y escribir el
resultado.







Gua I: Programacin
Ing. Analui Martnez de Gmez 6

2 Realizar el diagrama de flujo para calcular el producto de los nmeros positivos introducidos
por teclado. El proceso finaliza cuando se ingresa un nmero negativo.



PSEUDOCDIGO

El pseudocdigo es un lenguaje de documentacin de programas similar al ingles (o espaol) que se
parece a cualquier lenguaje de programacin de alto nivel, sigue siendo un excelente medio para
expresar la lgica de un programa.

Caractersticas:
Lenguaje de especificacin de algoritmos.
Utiliza palabras reservadas.
Se implementa con facilidad.

Estructura de algoritmos en pseudocdigos:
Cabecera: contiene el nombre del algoritmo.
Cuerpo del algoritmo: se especifican las diferentes instrucciones.
Inicio
p =1, num =0
Leer num
num >0
Si
No
p =p * num
Escribir p
Fin
Gua I: Programacin
Ing. Analui Martnez de Gmez 7
Bloque de declaraciones: se declaran las variables simblicas y constantes.
Bloque de instrucciones: contiene las acciones a ejecutar.


A continuacin se muestran algunos ejemplos de palabras para construir algoritmos en pseudocdigo.

PALABRA UTILIZACIN
INICIO Inicia un bloque de instrucciones
FIN Finaliza un bloque de instrucciones
SI Inicia la seleccin SI-ENTONCES
ENTONCES <acciones> Complemento de la seleccin SI-ENTONCES
SINO <acciones> Por el contrario del SI
MIENTRAS acciones> /HACER Inicia la iteracin mientras
REPETIR/HASTA <condicion> Inicio y cierre de iteracin REPETIR/HASTA
DESDE<condicion>/HASTA Inicio y cierre de iteracin DESDE/HASTA
SEGN SEA Seleccin entre mltiples alternativas
LEER Leer un dato del teclado
ESCRIBE Visualiza un dato en pantalla
CIERRA Cierra un archivo
O Disyuncin lgica
Y Conjuncin lgica
{ Inicio de comentario
} Fin de comentario
= Asignacin
VAR Para declarar las variables a usar


Estructura para los algoritmos en pseudocdigo

Algoritmo <nombre del algoritmo> { nombre del algoritmo}
Inicio { inicio del bloque de instrucciones del algoritmo}
Var <nombre> : <tipo> { declaracin de variables a usar en el algoritmo}
Instrucciones o sentencias {cuerpo del algoritmo}
Fin { fin del bloque de instrucciones del algoritmo }
Gua I: Programacin
Ing. Analui Martnez de Gmez 8

Ejemplo
1 Realice el pseudocdigo que muestre en pantalla la suma de dos nmeros



Represente el pseudocdigo para determinar el producto de los nmeros enteros

Algoritmo Producto
Inicio
Var p, num: entero
p= 1
num=0
Escribir Introduzca nmero:
Leer num
Mientras num>=0 hacer
p= p * num
Leer num
Fin Mientras
Escribir p
Fin

Inicio

You might also like