Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmos IEM 408 PDF
Algoritmos IEM 408 PDF
Rina Familia
Técnicas de Programación Aplicada
Algoritmos
Computacionales
Dra. Ing. Rina Familia
Técnicas de Programación Aplicada
Contenido
Introducción a los algoritmos computacionales
Conceptos básicos……………………………………………………………… 4
Qué es un algoritmo?, características de un buen algoritmo, algoritmos
cualitativos y cuantitativos
Representación de un algoritmo……………………………………………… 5
Descripción Textual Secuencial Numerada
Pseudocódigo
Diagrama de Flujo…………………………………………………………….. 7
Simbología, tipos, reglas……………………………………………………. 8
Enfoques de programación……………………………………………...……… 22
Estructuras de control………………………………………………………………. 24
Secuencia, selección, repetición
Bibliografía………............……………..………..………….………………….. 32
Dra. Ing. Rina Familia
Técnicas de Programación Aplicada
Dra. Ing. Rina Familia
Técnicas de Programación Aplicada
¿Qué es un algoritmo?
Dra. Ing. Rina Familia
Técnicas de Programación Aplicada
(http://es.wikipedia.org/wiki/Algoritmo)
Todo algoritmo
debe guardar
estas
características
Dra. Ing. Rina Familia
Técnicas de Programación Aplicada
Representación de un algoritmo
Para escribir la solución de un problema no es conveniente utilizar
la redacción normal, como si fuera escribiendo una carta, donde se
instruye a hacer esto y aquello, ya que sería muy difícil que un
algoritmo escrito así pueda ser usado por alguien diferente de
quien lo escribe, debido a que estaría sujeto a la interpretación
personal, convirtiéndose esto en un gran problema, puesto que se
obtendrían resultados atendiendo a los puntos de vista de cada
quien, algo inaceptable en un algoritmo. De ahí que se utilicen
Dra. Ing. Rina Familia
Técnicas de Programación 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
Pseudocódigo
Esta forma de representar un algoritmo consiste en escribir una
lista ordenada de pasos que describe con precisión y en secuencia
lógica cada instrucción de la posible solución del problema, cuya
diferencia básica con la descripción textual secuencial numerada
es que tiene apariencia de código de programación, debido a que
mezcla el lenguaje natural (español o inglés, por ejemplo) con
comandos de lenguaje de programación y es precisamente por
eso que lleva el nombre de pseudocódigo: pseudo (falso), es decir
Dra. Ing. Rina Familia
Técnicas de Programación 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 gráfica de representar un
algoritmo, indicando la manera en que se debe ir ejecutando cada La forma gráfica
es la más
instrucción a través de símbolos que se interconectan entre si por antigua y usada
medio de líneas 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 informática, de hecho, los dice el proverbio
chino de que
diagramas de flujo fueron desarrollados, inicialmente, para ser una imagen
aplicados en la administración de empresas en la representación (gráfico) dice
de procesos y procedimientos que se ejecutan en áreas como la más que mil
planificación estratégica, la elaboración de productos, ventas, entre palabras.
otras áreas dentro de las organizaciones. Sin embargo, su uso en
el desarrollo y creación de sistemas computacionales ha sido muy
destacado, además favorece la comprensión en el proceso para la
enseñanza-aprendizaje de creación y desarrollo de softwares,
razón por la que tal vez, es la forma más usada para representar la
solución de un problema.
El objetivo de los diagramas de flujo es facilitar la interpretación o
análisis de un proceso para encontrar la solución al problema más
Dra. Ing. Rina Familia
Técnicas de Programación Aplicada
Nombre/Símbolo Función/Descripción
INICIO
LEER
PROCESAR
INFORMACION
FIN
Dra. Ing. Rina Familia
Técnicas de Programación Aplicada
Ej.: programa de cuentas por cobrar, que forma parte del sistema
de contabilidad.
Diseño y desarrollo del algoritmo. Esta fase es una actividad Estos primeros 3
esencialmente creativa, en la que se traduce con precisión los pasos son la base
requerimientos del cliente a un producto o programa fundamental y los
más importantes
terminado. En esta parte el programador desarrolla la lógica en este proceso,
que utilizará para la creación del programa, donde se obtiene pues representan
el algoritmo que puede ser representado en cualquiera de las la lógica del
formas que hemos explicado anteriormente (pseudocódigo, programador.
diagrama de flujo). Integran la
solución misma
del problema.
Prueba de escritorio. Verificación de la eficacia del algoritmo,
es decir, comprobar si realmente da una solución confiable al
problema. Es el seguimiento manual de los pasos descritos en
el algoritmo, donde se verifica la lógica del mismo, probando
con diferentes valores (datos reales que puedan representar
todas las posibles entradas, utilizando, calculadora, lápiz y
papel) y tiene como fin detectar errores, depurar, y refinar el
algoritmo. Los algoritmos siempre pueden contener
ambigüedades, generalidades y errores, por lo que el
programador debe pulirlos, refinarlos, verificando las fallas y
Dra. Ing. Rina Familia
Técnicas de Programación Aplicada
Estructura de datos
Esta figura
nos muestra
cómo los
archivos son
almacenados
en carpetas,
y la lista de
los elementos
que integran
una
aplicación
determinada,
la que puede
contener
archivos de
distintas
extensiones,
dependiendo
del tipo que
sea, tales como .exe (ejecutable), .hlp (ayuda), .txt (texto), .ini
(inicialización), entre otros. Cuando se inicia un programa en el
computador, el archivo central es el que se ejecuta y se
conoce por su extensión .exe.
F OR(O) V V Binario
F = F V Binario
V > V F Binario
Enfoques de programación.
El enfoque tradicionalista de la programación se basa en un
paradigma lineal, donde las diferentes incógnitas que integran el
problema se solucionan paso a paso, sin descomponerlo, lo que
daba como resultado, el llamado código “spaghetti”, haciendo su
lectura, comprensión y actualización algo casi imposible. Sin
embargo, para obtener un rendimiento máximo y mejores
resultados en la tarea de programar, es importante asumir las
técnicas o métodos, que a través del tiempo se han ido
desarrollando en la programación de computadoras como es la
programación estructurada, que es un conjunto de técnicas para
desarrollar algoritmos fáciles de escribir leer y modificar. No
contempla la sentencia GOTO, la que representa un dolor de
cabeza a la hora de actualizar los códigos fuentes y una desventaja
de la programación 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 Condición no
si (condición o expresión lógica) 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 condición 1 entonces
sentencia(s) a
sino
si condición 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 número 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
Técnicas de Programación Aplicada
n<-0
a) Pseudocódigo 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
n≥100
Escribir "la suma del 1 al 100 es igual a: ", s;
Fin si
Fin
Bibliografía
http://algoritmia.org/index.php?option=com_content&task=
view&id=18&Itemid=1