Escolar Documentos
Profissional Documentos
Cultura Documentos
Rina Familia
Tcnicas de Programacin Aplicada
Algoritmos
Computacionales
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
Contenido
Introduccin a los algoritmos computacionales
Conceptos bsicos 4
Qu es un algoritmo?, caractersticas de un buen algoritmo, algoritmos
cualitativos y cuantitativos
Representacin de un algoritmo 5
Descripcin Textual Secuencial Numerada
Pseudocdigo
Diagrama de Flujo.. 7
Simbologa, tipos, reglas. 8
Enfoques de programacin... 22
Estructuras de control. 24
Secuencia, seleccin, repeticin
Bibliografa................... 32
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
Qu es un algoritmo?
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
(http://es.wikipedia.org/wiki/Algoritmo)
Todo algoritmo
debe guardar
estas
caractersticas
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
Representacin de un algoritmo
Para escribir la solucin de un problema no es conveniente utilizar
la redaccin normal, como si fuera escribiendo una carta, donde se
instruye a hacer esto y aquello, ya que sera muy difcil que un
algoritmo escrito as pueda ser usado por alguien diferente de
quien lo escribe, debido a que estara sujeto a la interpretacin
personal, convirtindose esto en un gran problema, puesto que se
obtendran resultados atendiendo a los puntos de vista de cada
quien, algo inaceptable en un algoritmo. De ah que se utilicen
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
1. Inicio
2. Leer datos del cliente
3. Analizar historial del cliente
4. Si el cliente califica, la solicitud es aprobada, en caso
contrario, es rechazada
5. Fin
Pseudocdigo
Esta forma de representar un algoritmo consiste en escribir una
lista ordenada de pasos que describe con precisin y en secuencia
lgica cada instruccin de la posible solucin del problema, cuya
diferencia bsica con la descripcin textual secuencial numerada
es que tiene apariencia de cdigo de programacin, debido a que
mezcla el lenguaje natural (espaol o ingls, por ejemplo) con
comandos de lenguaje de programacin y es precisamente por
eso que lleva el nombre de pseudocdigo: pseudo (falso), es decir
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
Inicio
Suma=0
Escribir "Introduzca el primer valor: "; Leer a;
Escribir "Introduzca el segundo valor: "; Leer b;
Suma=a+b;
Escribir "El resultado de la suma es: ", Suma;
Fin
Diagrama de flujo
Flow chart, en ingles. Esta es la forma grfica de representar un
algoritmo, indicando la manera en que se debe ir ejecutando cada La forma grfica
es la ms
instruccin a travs de smbolos que se interconectan entre si por antigua y usada
medio de lneas y flechas. Los diagramas de flujo tienen ventajas para representar
sobre las anteriores formas, por el hecho de que pueden ser un algoritmo, tal
entendidos por cualquier persona, independientemente de su vez por lo que
idioma y de que sea o no del rea de informtica, de hecho, los dice el proverbio
chino de que
diagramas de flujo fueron desarrollados, inicialmente, para ser una imagen
aplicados en la administracin de empresas en la representacin (grfico) dice
de procesos y procedimientos que se ejecutan en reas como la ms que mil
planificacin estratgica, la elaboracin de productos, ventas, entre palabras.
otras reas dentro de las organizaciones. Sin embargo, su uso en
el desarrollo y creacin de sistemas computacionales ha sido muy
destacado, adems favorece la comprensin en el proceso para la
enseanza-aprendizaje de creacin y desarrollo de softwares,
razn por la que tal vez, es la forma ms usada para representar la
solucin de un problema.
El objetivo de los diagramas de flujo es facilitar la interpretacin o
anlisis de un proceso para encontrar la solucin al problema ms
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
Nombre/Smbolo Funcin/Descripcin
INICIO
LEER
PROCESAR
INFORMACION
FIN
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
Ej.: programa de cuentas por cobrar, que forma parte del sistema
de contabilidad.
Diseo y desarrollo del algoritmo. Esta fase es una actividad Estos primeros 3
esencialmente creativa, en la que se traduce con precisin los pasos son la base
requerimientos del cliente a un producto o programa fundamental y los
ms importantes
terminado. En esta parte el programador desarrolla la lgica en este proceso,
que utilizar para la creacin del programa, donde se obtiene pues representan
el algoritmo que puede ser representado en cualquiera de las la lgica del
formas que hemos explicado anteriormente (pseudocdigo, programador.
diagrama de flujo). Integran la
solucin misma
del problema.
Prueba de escritorio. Verificacin de la eficacia del algoritmo,
es decir, comprobar si realmente da una solucin confiable al
problema. Es el seguimiento manual de los pasos descritos en
el algoritmo, donde se verifica la lgica del mismo, probando
con diferentes valores (datos reales que puedan representar
todas las posibles entradas, utilizando, calculadora, lpiz y
papel) y tiene como fin detectar errores, depurar, y refinar el
algoritmo. Los algoritmos siempre pueden contener
ambigedades, generalidades y errores, por lo que el
programador debe pulirlos, refinarlos, verificando las fallas y
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
Estructura de datos
Esta figura
nos muestra
cmo los
archivos son
almacenados
en carpetas,
y la lista de
los elementos
que integran
una
aplicacin
determinada,
la que puede
contener
archivos de
distintas
extensiones,
dependiendo
del tipo que
sea, tales como .exe (ejecutable), .hlp (ayuda), .txt (texto), .ini
(inicializacin), entre otros. Cuando se inicia un programa en el
computador, el archivo central es el que se ejecuta y se
conoce por su extensin .exe.
F OR(O) V V Binario
F = F V Binario
V > V F Binario
Enfoques de programacin.
El enfoque tradicionalista de la programacin se basa en un
paradigma lineal, donde las diferentes incgnitas que integran el
problema se solucionan paso a paso, sin descomponerlo, lo que
daba como resultado, el llamado cdigo spaghetti, haciendo su
lectura, comprensin y actualizacin algo casi imposible. Sin
embargo, para obtener un rendimiento mximo y mejores
resultados en la tarea de programar, es importante asumir las
tcnicas o mtodos, que a travs del tiempo se han ido
desarrollando en la programacin de computadoras como es la
programacin estructurada, que es un conjunto de tcnicas para
desarrollar algoritmos fciles de escribir leer y modificar. No
contempla la sentencia GOTO, la que representa un dolor de
cabeza a la hora de actualizar los cdigos fuentes y una desventaja
de la programacin lineal, usada anteriormente.
Inicio
sentencia(s) A; Sentencia A
El punto y coma
es usado para
separar las
sentencia(s) Z; instrucciones.
Sentencia B
Fin
Inicio Inicio
Escribir "Introduzca el primer valor: ";
Leer A; A, B
Escribir "Introduzca el segundo valor: ";
Leer B;
Producto=A*B
Producto<-A*B;
Escribir "El resultado del producto es: ", Producto;
Fin.
Producto
si Condicin no
si (condicin o expresin lgica) entonces ?
sentencia(s) 1;
sino sentencia(s)1 sentencia(s)2
sentencia(s) 2;
Inicio
Inicio
Leer a, b; a, b
si a>b entonces
div<-a/b;
Escribir "el no. mayor es: ", a; si no
Escribir "el resultado es: ", div; a>b
sino
div<-b/a; div<-a/b div<-b/a
Escribir "el no. mayor es: ", b;
Escribir "el resultado es: ", div;
fin si div, a div, b
Fin
Inicio
si condicin 1 entonces
sentencia(s) a
sino
si condicin 2 entonces
sentencia(s) b
sino
sentencia(s) c
fin
Inicio
a<-0;
mayor<-0; a, b,c
Escribir "Introduzca el primer valor: "; leer a
Escribir "Introduzca el segundo valor: "; leer b
Escribir "Introduzca el tercer valor: "; leer c
si a>b entonces s n
si a>c entonces i a>b o
mayor<-a;
sino
s n s n
mayor<-c; a>c b>c
i o i o
finsi
sino
si b>c Entonces Mayor= Mayor= Mayor= Mayor=
a c b c
mayor<-b;
sino
mayor<-c;
finsi
finsi mayor
Escribir "el nmero mayor es: ", mayor;
Fin
fin
sentencia/s
s<-0
Inicio
n<-0; no
n<100
s<-0;
Mientras n<100 Hacer si
n<-n+1; n<-n+1
s<-s+n;
FinMientras
s<-s+n
Escribir "la suma del 1 al 100 es igual a: ", s;
Fin
Fin
Dra. Ing. Rina Familia
Tcnicas de Programacin Aplicada
n<-0
a) Pseudocdigo b)Diagrama de flujo div<
-a/b
s<-0
div<
Inicio -a/b
div<
n<-0; n<-n+1
-a/b
s<-0;
Repetir s<-s+n
n<-n+1;
s<-s+n;
Hasta que n>=100; no
n100
Escribir "la suma del 1 al 100 es igual a: ", s;
Fin si
Fin
Bibliografa
http://algoritmia.org/index.php?option=com_content&task=
view&id=18&Itemid=1