Upload
00472688
View
20
Download
0
Embed Size (px)
DESCRIPTION
El presente trabajo muestra el análisis de carácter teórico de modelamientos de algoritmos en la gestión administrativa, aplicados en la actualidad en la solución de problemas clásicos y complejos y la importancia de las matemáticas, en las diferentes estructuras de ramas del saber que han tenido aplicaciones los algoritmos. Durante miles de años el ser humano se ha esforzado por abstraer la estructura de la solución de problemas con el fin de determinar claramente cuál es el camino seguro, preciso y rápido que lleva a esas soluciones
Citation preview
Tacna, 18 abril de 2020
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
ESCUELA DE POSTGRADO
DOCTORADO EN ADMINISTRACIÓN
ANÁLISIS DE LOS
MODELAMIENTOS DE
ALGORITMOS EN LA GESTIÓN
ADMINISTRATIVA
Dr. Apaza Paucara, juan Carlos
CURSO:
Modelamiento Cuantitativo para la Gestión
16/06/2017
1
ÍNDICE GENERAL
RESUMEN
I. DEFINICIÓN
II. ALGORITMOS DEL SIGLO XX
III. LA OPTIMIZACIÓN
III. PROCEDIMIENTOS CONSTRUCTIVOS
V. PSEUDOCÓDIGO
VI. APLICACIONES
CONCLUSIONES
RECOMEDACIONES
REFERENCIAS
APÉNDICE
16/06/2017JUAN CARLOS APAZA PAUCARA
2
16/06/2017
3
RESUMEN
El presente trabajo muestra el análisis de carácter teórico de modelamientos de
algoritmos en la gestión administrativa, aplicados en la actualidad en la solución
de problemas clásicos y complejos y la importancia de las matemáticas, en las
diferentes estructuras de ramas del saber que han tenido aplicaciones los
algoritmos. Durante miles de años el ser humano se ha esforzado por abstraer la
estructura de la solución de problemas con el fin de determinar claramente cuál es
el camino seguro, preciso y rápido que lleva a esas soluciones. Son abundantes
los ejemplos: máximo común divisor, teorema de Pitágoras, áreas de figuras
geométricas, división, suma de números fraccionarios, etc. Todos estos algoritmos
matemáticos independizan los datos iniciales del problema de la estructura de su
solución, lo que permite su aplicación con diferentes conjuntos de datos iniciales
(variables).
KEYWORDS: Algoritmo, Análisis, Diseño y Control.
*Docente de la UNJBG. Asignatura: en SIG `para toma de decisiones 2017.
JUAN CARLOS APAZA PAUCARA
ANÁLISIS DE LOS MODELAMIENTOS DE ALGORITMOS EN LA
GESTIÓN ADMINISTRATIVA
Apaza Paucara, Juan Carlos*
16/06/2017JUAN CARLOS APAZA PAUCARA
4
Abstract
The present work shows the theoretical analysis of algorithms modeling in
the administrative management, currently applied in the solution of classic
and complex problems and the importance of mathematics in the different
structures of branches of knowledge that have had applications Algorithms.
For thousands of years human beings have endeavored to abstract the
structure of problem solving in order to determine clearly which is the safe,
precise and rapid path that leads to such solutions. Examples are abundant:
maximum common divisor, Pythagorean theorem, areas of geometric figures,
division, sum of fractional numbers, and so on. All these mathematical
algorithms make initial problem data independent of the structure of their
solution, allowing their application with different sets of initial (variable) data.
KEYWORDS: Algorithm, Analysis, Design and Control.
* Professor of the UNJBG. Subject: in SIG `for decision making 2017.
** Nurse of the Regional Hospital of Tacna ,.
ANALYSIS OF ALGORITHM MODELS IN
ADMINISTRATIVE MANAGEMENT
Apaza Paucara, Juan Carlos* y Mamani, Mercedes**
16/06/2017
5
I. DEFINICIÓN
ALGORITMO
Esta palabra se deriva de la traducción al latín de la palabra árabe
ALKHÔWARÎZMI, En el siglo IX, el matemático y geógrafo Mohammed Ibn
Musa Al-Khwarizmi, escribió un pequeño libro donde explicaba los nuevos dígitos
creados por los hindúes y cómo utilizarlos para realizar sencillas operaciones. Se ha
perdido la versión original de esta obra, .Kitab al-Jam.a wal-Tafreeq bil Hisab al-
Hindi. (también llamada .Aritmética., en forma abreviada), pero se han conservado
diversas traducciones al latín, realizadas todas ellas en España, que entonces era el
punto de encuentro de las culturas árabe y latina.
Según la Real Academia, en su diccionario online, ““Conjunto ordenado y finito de
operaciones que permite hallar la solución de un problema”.
López, (2009) Algoritmo Consiste en aplicar adecuadamente una serie de pasos
detallados que aseguran una solución correcta. Por lo general, cada algoritmo es
específico de un dominio del conocimiento. La programación de computadores se
apoya en este método. (P.7)
JUAN CARLOS APAZA PAUCARA
16/06/2017
6
Definición de Algoritmo
Un algoritmo es la secuencia ordenada de pasos, sin
ambigüedades, que conducen a la resolución de un
problema dado y expresado en lenguaje natural, por
ejemplo el castellano.
Un heurístico es un “procedimiento simple, a menudo basado
en el sentido común, que se supone que ofrecerá una buena
solución (aunque no necesariamente la óptima) a problemas difíciles, de un modo fácil y rápido”. (Zanakins y Evans, 1981)
"En la última década, los nuevos avances en algoritmos han sido
tan importantes como Los impresionantes avances en la tecnología
informática “ Nemhauser. George L. (1994).
"Las mejoras tecnológicas en algoritmos, lenguajes de modelado,
software y el hardware han hecho la metodología accesible, fácil de
usar, y rápido. Así que la Era de la Optimización ha llegado “
Nemhauser. George L. (1994).JUAN CARLOS APAZA PAUCARA
16/06/2017
7
II. Los algoritmos del Siglo XX
AÑO ALGORITMO APLICACIÓN
1946 Metrópolis de Monte Carlo Mediante el uso de procesos aleatorios, este
algoritmo ofrece una manera eficiente para
conseguir respuestas a problemas que son
demasiado complicados de resolver en forma
exacta.
1947 Método Simplex para
programación lineal.
Una solución elegante a un problema común en
planificación y toma de decisiones.
1950 Método de iteración de
subespacios de Krylov
Una técnica para solución rápida de ecuaciones
lineales que abundan en computación científica.
1951 Enfoque descomposicional
para cómputo de matrices
Un conjunto de técnicas para el álgebra lineal
numérica.
1957 El compilador Fortran de
optimización
Cambia código de alto nivel en código
informático eficiente y legible.
1959 Algoritmo QR para cálculo de
valores propios
. Otra operación crucial de matrices hecha rápida
y práctica.
JUAN CARLOS APAZA PAUCARA
16/06/2017
8
Los algoritmos del Siglo XX
AÑO ALGORITMO APLICACIÓN
1962 Algoritmos de ordenamiento
rápido (Quicksort).
Para el manejo eficiente de grandes bases de
datos.
1965 Transformada Rápida de
Fourier (FFT).
Tal vez el algoritmo de mayor alcance en
matemáticas aplicadas en uso hoy en día,.
Descompone formas de onda en componentes
periódicos.
1977 Detección de relación entre
enteros
Un método rápido para detectar ecuaciones
simples satisfechas por colecciones de números
aparentemente inconexos.
1987 Método rápido multipolar Un gran avance en el tratamiento de la
complejidad de los cálculos de n-cuerpos,
aplicado en problemas que van desde la mecánica
celeste al plegamiento de proteínas.
JUAN CARLOS APAZA PAUCARA
16/06/2017
9OPTIMIZACIÓN
FUNCIÓN
OBJETIVA
VARIABLES
RESTRICCIONES
PROBLEMAS
CLÁSICO
ALGORITMOMETAHEURÍSTICA
Inteligencia
artificial Imitan fenómenos
sencillos observados
en la naturaleza
MÉTODOS
III. LA OPTIMIZACIÓN
JUAN CARLOS APAZA PAUCARA
16/06/2017
10MÉTODOS
EURÍSTICOS
Se basan en la aplicación de
reglas sencillas. Se diferencia,
tratan de huir de óptimos
locales orientada en búsqueda
permanente dependiendo de la
evolución del proceso de
búsqueda
Constructivos
Descomposición
Reducción
Manipulación
del modelo
Son ciegas
METAHEURÍSTICOS
La clasificación de métodos de resolución mediante
heurísticos:
.
Relativamente sencillos
Algoritmos aproximativos
Aceptan ocasionalmente
malos movimientos (Procesos
de búsqueda)
La regla de selección depende del instante
del proceso y de la historia hasta ese
momento.
Son generales
Se utiliza: No
hay método
exacto.
Demora,
limitaciones
Variable
Enteras y
reales
búsqueda por
entornos
García Sánchez, Alvaro. Técnicas metaheurísticas (p:2-4). http://www.iol.etsii.
upm.es/arch/metaheuristicas.pdf
JUAN CARLOS APAZA PAUCARA
16/06/2017
11
MODELAMIENTO
Lenguajes de programación general (C,
C++, Java, Visual Basic, FORTRAN 90) que
llaman a una biblioteca de optimización
Lenguajes o entornos de cálculo numérico o
simbólico (hojas de cálculo, lenguajes para
cálculo numérico intensivo, como MATLAB, o
para cálculo simbólico, como Maple o
Mathematica, etc.)
Bibliotecas de componentes orientados a objetos
(clases C++) para optimización: Concert de ILOG,
LINDO API de LINDO Systems, OptiMax 2000 de
Maximal Software, FLOPC++ de Universidad de
Aveiro…software abierto Computational
Infrastructure for Operations Research (COIN-OR)
(www.coin-or.org).
Entre los lenguajes de modelado más conocidos se pueden
mencionar: GAMS (www.gams.com), AMPL (www.ampl.com) de
origen estadounidense y MPL (www.maximalsoftware.com) y
AIMMS (www.aimms.com) y XPRESS-MP
(www.dashoptimization.com) de origen europeo. OLP Inegrada.
Ramos, Andrés,
Sánchez. Pedro, Ferrer,
Barquin y Linares. (2010).
JUAN CARLOS APAZA PAUCARA
16/06/2017
12
Tabla: tipos de problemas de optimización dentro de los métodos
clásicos. Las variables (reales/continuas o enteras/discretas).
JUAN CARLOS APAZA PAUCARA
16/06/2017
13
Algoritmos Creados por Martínez, (2008) los algoritmos abiertos basados en
números (ABN), El nombre de los algoritmos describe las principales
características de los mismos:
• A de Abiertos, porque no hay una forma única de realizarlos, cada alumno o
alumna puede trabajar de forma distinta, en función de su desarrollo, dominio de
cálculo, estrategias de cálculo, o simple capricho. Esta característica se
contrapone a los algoritmos tradicionales que son cerrados, en el sentido que
hay solo una forma de hacerlos.
• BN de Basados en Números, en contraposición a los algoritmos tradicionales
que están basados en cifras, el algoritmo ABN siempre trabaja con números, que
podrán ser más grandes o más pequeños, pero siempre combinan números
completos con todo su significado y no cifras a las que se trata de igual manera
sin tener en cuanta sus valores posicionales, lo que hace que se pierda el
verdadero sentido numérico del proceso” Povedano y López, (2014 : 42-43).
ALGORITMOS ABIERTOS BASADOS EN NÚNEROS (ABN)
Algoritmo adaptativo.
Todos los algoritmos incorporan la profundidad, el tiempo de
fondo y la mezcla de gases como elementos para calcular el tiempo
de descompresión.
El ZHL-8 ADT MB PMG de SCUBAPRO es el único algoritmo que
incluye la frecuencia respiratoria como indicador de la carga de trabajo
durante la inmersión y adapta las paradas de descompresión a fin de evitar
factores de riesgo.
JUAN CARLOS APAZA PAUCARA
ALGORITMOS
NATURALES
GESTACIÓN
LAS
ESTACIONES
EL PROCESO
DIGESTIVO
López, (2009) “El
proceso digestivo es un concepto
intuitivo de algoritmo con el que se
convive a diario sin que haga falta
un definición “matemática” del
mismo. Tener claro el proceso
digestivo, no implica que los
alimentos consumidos nutran más. La
familiaridad de lo cotidiano impide a
las personas ver muchos algoritmos
que se suceden a su alrededor”
(p:21).
LOS CICLOS
CÓSMICOS, Etc.
Procesos,
rutinas o
biorritmos
naturales
Como
16/06/2017JUAN CARLOS APAZA PAUCARA
14
16/06/2017
15ALGORITMOS
EVOLUTIVOS
1960
campo científico e industrial es intratable.
Un método exacto necesita un
tiempo polinomial para
garantizar la optimalidad de la
solución. problemas
denominados NP-duros
Método de
garantía
Solución de
alta calidad
Tiempo
Razonable
Aunque no garantice
una solución óptima
global
Métodos
aproximados
HEURÍSTICOSMETAHEURÍSTICA
ALGORITMOS EVOLUTIVOS PARA OPTIMIZACIÓN
.
Los Algoritmos Genéticos
(GA) (Holland 1992)
La Búsqueda Tabú (Tabu
Search) (Glover 1989)El Recocido Simulado
(Simulated Annealing) (Van
Laarhoven y Aarts 1987),
La Búsqueda Dispersa (Scatter
Search) (Glover et al. 2000)Las Colonias de Hormigas
(ACO), entre otras
Búsqueda
dispersa
BD(V.
Discreta)
Variable
Contínua.
Soria C ., Pandolfi D., Villagra S y Villagra A. (2014). Algoritmos de Búsqueda
Dispersa aplicados a problemas de Optimización Discreta.
Actualmente
JUAN CARLOS APAZA PAUCARA
16/06/2017
16
Algoritmos Genéticos
JUAN CARLOS APAZA PAUCARA
…la supervivencia de los más fuertes, postulados por Darwin (1859)…Los
principios básicos de los Algoritmos Genéticos fueron establecidos por
Holland (1975), y se encuentran bien descritos en varios textos – Goldberg
(1989), Davis (1991), Michalewicz (1992), Reeves (1993) –
Los Algoritmos Genéticos usan una analogía directa con el comportamiento
natural.
(http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/temageneticos.pdf),
16/06/2017
17
IV. PROCEDIMIENTOS CONSTRUCTIVOS
ANALIZAR UN
PROBLEMA
TRADUCIR
UN
ALGORITMO
DISEÑAR UN
ALGORITMO
DEPURAR UN
ALGORITMO
Entrada Proceso Salida
Todo algoritmo consta de tres secciones principales:
introducción de datos Es el conjunto de operaciones a realizar
para dar solución al problema.resultados obtenidos
JUAN CARLOS APAZA PAUCARA
16/06/2017
18
Resolución
de
ProblemasPCs
Aprender un
lenguaje de
programación
IDENTICACIÓN
DEL PROBLEMA
RESOLUCIÓN
IMPLEMENTACIÓN
FASE
Resolución de problemas por computadoras
Realización) en un lenguaje
de
programación
Fuente: Metodología de Programación, Programación en C, Aplicaciones
electrónicas 1 /
47https://uvirtual.unet.edu.ve/pluginfile.php/10772/mod_resource/content/0
/Guia_de_algioritmos.pdf
JUAN CARLOS APAZA PAUCARA
16/06/2017
19
Diseño del
algoritmo
Análisis del
problema
IDENTICACIÓN
DEL PROBLEMA
Idea clara
sobre lo que se
solicita
Datos necesarios
FASE
Resolución de problemas por computadoras
Fuente: Metodología de Programación, Programación en C, Aplicaciones
electrónicas 1 /
47https://uvirtual.unet.edu.ve/pluginfile.php/10772/mod_resource/content/0
/Guia_de_algioritmos.pdf
Verificación
del
algoritmo
Preciso
Definido,
Consitente
Finito
Resultado
correcto,
esperado
Ejecución manual
Prueba de
algoritmo
Trazar
un plan
JUAN CARLOS APAZA PAUCARA
16/06/2017
20
Diagrama de flujo Inicio/final
Entrada por
teclado
Llamada por
subrutina
Diagrama
de flujo
Entrada
general
Acción o
proceso general
Salida
Pantalla
Decisión
Salida
Impresora
FlujoConector en
páginaConector páginas
diferentes
Iteración
Es una notación gráfica para
implementar algoritmos.
JUAN CARLOS APAZA PAUCARA
Diagrama de Flujo Elemental.
INICIO
Declaración e Inicialización de
Variables
Entrada de
Datos
Presentación de
Resultados en Pantalla
FIN
Condición
Verdadera?
Si No
Acción 1 Acción 2
INICIO
Declaración e Inicialización de
Variables
Entrada de
Datos
Procesamiento de Datos
Presentación de
Resultados en Pantalla
FIN
• El pseudocódigo es una manera de escribir algoritmos de forma poco estricta
(con una sintaxis relajada) o estructuras de datos poco detalladas, pero
intentando acercar las ideas del algoritmos a estructuras y sintaxis
parecidas a las de los lenguajes de alto nivel en los que vamos a programar el
algoritmo.
• Es para ser leído por personas, por tanto no se preocupa en detalles
sintácticos.
• Es un lenguaje de especificación de algoritmos, pero muy parecido a
cualquier lenguaje de programación, por lo que luego su traducción al lenguaje
de programación es muy sencillo, pero con la ventaja de que no se rige por las
normas de un lenguaje en particular. Nos centramos más en la lógica del
problema.
• El pseudocódigo también va a utilizar una serie de palabras claves o palabras
especiales que va indicando lo que significa el algoritmo.
V. PSEUDOCÓDIGO
Pseudocódigo: Diseño
Definición del problema
Análisis del problema
Selección de la mejor
alternativa
Algoritmo
Diagramación
Pseud
ocód
igo
16/06/2017 JUAN CARLOS APAZA PAUCARA
23
Pseudicódigo: Definición del Problema
Está dada por el enunciadodel problema, el cuál debe
ser claro y completo
Es importante que
conozcamos
exactamente que se
desea.
Mientras qué esto no se
comprenda, no tiene caso
pasar a la siguiente etapa.
16/06/2017 JUAN CARLOS APAZA PAUCARA
24
Pseudicódigo: Definición del Problema
Hallar el salario mensual de un
empleado.
El salario se calcula según las
horas semanales trabajadas y el
valor de la hora, si se pasan las
horas extraordinarias (40
semanales), se pagarán al 1,5 %
16/06/2017
JUAN CARLOS APAZA PAUCARA
Ejemplo1
25
CasoSmuaeylodrode 40Hallar Sueldo=(40*val_hora) +
((1.5*val_hora)*(Horas-40))
El programa deberá mostrar
el nombre y el sueldo del empleado
Pseudocódigo: Análisis
del Problema
Los datos de
entrada que nos
suministran
El proceso que
debe realizarse
Los datos de salida o
resultados que se esperan
16/06/2017
JUAN CARLOS APAZA PAUCARA
26
ALGORITMO: Definición de Constantes
y Variables
Constantes
No existe un valor
dentro del programa
que debe permanecer
constante
nombre,
val_hora,
Horas, Sueldo
Variables
16/06/2017
JUAN CARLOS APAZA PAUCARA
27
ALGORITMO - PSEUDOCODIGO
Inicio
1. Solicitar los datos del empleado
2. Almacenar los datos
3. Si el numero de horas es mayor a
cuarenta entonces
1. Hallar el valor del sueldo teniendo
en cuenta que el valor de la hora
adicional será mas el 1.5%
2. Si no paso 3 entonces hallar el
valor del sueldo normalmente.
4. Generar el nombre del empleado y
su sueldo.
Fin
Inicio
Haga nombre=“”, val_hora=0, Horas=0,
Sueldo=0
Mostrar “Digite datos del empleado” Capture
nombre, val_hora, Horas Si (Horas
<=40)entonces
Haga sueldo=Horas * val_hora;
si no
Haga sueldo=(Horas * val_hora)+
((Horas-40)*(1.5*val_hora));
Fin si
Mostrar “El sueldo de :“, nombre, “es: ”, sueldo
Fin
16/06/2017
JUAN CARLOS APAZA PAUCARA
28
ALGORITMO - DF
Inicio
1. Solicitar los datos del empleado
2. Almacenar los datos
3. Si el numero de horas es mayor a
cuarenta entonces
1. Hallar el valor del sueldo teniendo
en cuenta que el valor de la hora
adicional será mas el 1.5%
2. Si no paso 3 entonces hallar el
valor del sueldo normalmente.
4. Generar el nombre del empleado y
su sueldo.
Fin
Inicio
nombre=“”, val_hora=0, Horas=0,
Sueldo=0
“Digite datos del empleado”
nombre, val_hora, Horas
Horas= =40
sueldo=Horas * val_hora;sueldo=(Horas * val_hora)+
((Horas-40)*(1.5*val_hora));
“El sueldo de :“, nombre, “es: ”,
sueldo
Inicio 16/06/2017
JUAN CARLOS APAZA PAUCARA
29
Pseudicódigo: Definición del Problema
Clasificar las hojas de vida de un
empleado teniendo en cuenta las
siguientes características:
-Se requiere hombre entre 20 y 25
años, con situación militar definida para
el departamento de Producción.
-Se requiere mujer con estudios de
Secretariado Bilingüe para la Secretaría
de Gerencia General
16/06/2017 JUAN CARLOS APAZA PAUCARA
Ejemplo2
30
Las operaciones que es necesario hacer, en este caso, son Comparaciones
M (Edad)
F (Estudios)
con los
requisitos
Es apto Dpto Prod.
El programa deberá mostrar si el empleado
es apto para el Departamento de
producción
O para la Secretaría de Gerencia
O No cumple con los requisitos
Pseudocódigo: Análisis del Problema
Los datos de salida o
resultados que seesperan
Los datos de
entrada que nos
suministran
El proceso que
debe realizarse
16/06/2017 JUAN CARLOS APAZA PAUCARA
31
ALGORITMO: Definición de
Constantes y Variables
Constantes
No existe un valor
dentro del programa
que debe permanecer
constante
nombre,
Sexo,
Edad
LibretaM,
certifE
Variables
16/06/2017
JUAN CARLOS APAZA PAUCARA
32
ALGORITMO - PSEUDOCODIGO
Inicio
1. Solicitar los datos de Hoja de Vida
2. Almacenar los datos
3. Si el sexo es Masculino entonces
3.1 Si Edad esta entre 20 y 25 entonces
16/06/2017 JUAN CARLOS APAZA PAUCARA
3.1.1
3.1.1.1
3.1.1.2
Si tiene Libreta Militar entonces
Indicar que es apto para Dpto de Producción
Si no paso 3.1.1 Indicar que no cumple requisitos
3.1.2 Si no paso 3.1 Indicar que no cumple requisitos
2. Si no entonces
1. Si posee certificados Estudios Bilingüe entonces
1.Indicar que es apto para Secretaría de Gerencia
2.Si no 3.2.1 Indicar que no cumple requisitos Fin
33
PSEUDOCODIGO
Inicio
Fin
16/06/2017 JUAN CARLOS APAZA PAUCARA
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Haga nombre=“ ”, sexo=“ ”, edad=0, LibretaM=“ ”, certifE=“ ”
Mostrar “Digite datos del empleado”
Capture nombre, sexo, edad, LibretaM, certifE
Si (sexo = =“M”) entonces
Si ((edad>20) && (edad<25)) entonces
Si (LibretaM = =“Si”) entonces
Mostrar nombre, “es apto para Dpto Producción ”
si no
Mostrar nombre, “no cumple con los requisitos ”
si noMostrar nombre, “no cumple con los requisitos ”
si no Si (certifE = =“Si”) entonces
Mostrar nombre, “es apta para Secretaría Gerencia ”
si no
Mostrar nombre, “no cumple con los requisitos ”
34
Diagrama de FlujoInicio
nombre=“ ”, sexo=“ ”, edad=0,
LibretaM=“ ”, certifE=“ ”
“Digite datos del empleado”
nombre, sexo, edad,
LibretaM, certifE
sexo= =Mnombre, “es apto para
Dpto Producción ”
Fin
Edad>20
&&
Edad<25
LibretaM==Si
nombre, “no cumple con los requisitos ”
cerfE= =S
nombre, “es apto para Secretaría
General ”
Si Si Si
Si
1
1
No
16/06/2017 JUAN CARLOS APAZA PAUCARA
NoNo No
35
16/06/2017
36
IMPLEMENTACIÓN
Codificación o
Traducción
Lenguaje de
programación
FASE
Resolución de problemas por computadoras
Fuente: Metodología de Programación, Programación en C, Aplicaciones
electrónicas 1 /
47https://uvirtual.unet.edu.ve/pluginfile.php/10772/mod_resource/content/0
/Guia_de_algioritmos.pdf
Ejecución
Comprobación
JUAN CARLOS APAZA PAUCARA
37
Ciclo de Vida en cascada con prototipos
Investigación
preliminar
Diseño
y realización
Diseño
...
Definir requisitos
OKKO
Evaluación
Modificación
Breve análisis
y especificación
16/06/2017JUAN CARLOS APAZA PAUCARA
16/06/2017
38
FAMILIA DE LENGUAJES DE PROGRAMACIÓN
TIPO NOMBRE DESARROLLO
Imperativos
(se inspiran en la
máquina de Von-
Neumann y toman
como modelo
teórico las máquinas
de Turing)
FORTRAN
COBOL
ALGOL
BASIC
PASCAL
C
ADA
desarrollado por J. Backus desde 1955 hasta 1958.
(COmmon Business Oriented Language) 60.
(ALGOrithmic Language)
(Beginner’s All-purpose Symbolic Instruction Code), por T. Kurtz y J. Kemeny 60.
Creado por N. Wirth en 1970
Desarrollado a principios de los años 70
Desarrollado entre 1975 y 1980
FUNCIONALES
(tomar otras
funciones como
argumentos y
devolver funciones.)
LISP
Scheme
ML
Haskell
(LISt Processing). Desarrollado por J. McCarthy en 1958
Scheme. Desarrollado por G. J. Sussman y Steele Jr. en 1975
Creado por R. Milner en 1975
Desarrollado por un comité internacional en 1990
ORIENTADOS A
OBJETOS
(la herencia que
facilita la reutilización
de código.)
Simula
Smalltalk
C++
Java
Python
C#
Desarrollado por O. J. Dahl y K. Nygaard entre 1962 y 1967
Smalltalk. Desarrollado por A. C. Kay en 1971
Creado en 1985 por B. Stroustroup
Desarrollado por J. Gosling en 1993
Creado por Guido van Rossum en 1990
C#. Creado por Microsoft para la plataforma .NET en 1999.
PROGRAMACIÓN
LÓGICA (Utiliza el
algoritmo de
resolución para
buscar soluciones)
Prolog
Curry
Creado en 1972 por J. Colmerauer
Curry. Creado por M. Hanus en 1996
OTROS PARADIGMAS Programación concurrente y no determinista · Programación dirigida por
eventos · Programación visual · Programación mediante restricciones
(Constraint programming) · Programación orientada al aspecto
Adaptado por el autor de Fuente: Labra, Cueva, Izquierdo, Fuente, Luengo y Ortín, (2014). Intérpretes y
Diseño de Lenguajes de Programación (p:36-38)JUAN CARLOS APAZA PAUCARA
16/06/2017
39
APLICACIONES
V. APLICACIONES
JUAN CARLOS APAZA PAUCARA
ALGORITMOS RÁPIDOS
Se requiere conocimiento en matemáticas
sobre:
• Teoría de números.
• Campos y anillos finitos sobre los
números enteros.
• Polinomios mínimos y conjugados.
• Polinomios ciclotómicos.
• Campos y anillos de polinomios.
• Grupos.
• Espacios vectoriales.
• Algebra lineal.
Se requiere conocimiento en
computación sobre:
• Programación.
• Programación avanzada.
• Estructura de datos.
Los algoritmos rápidos se requieren en
programación de sistemas asociados
a:
– Sonar.
– Radar.
– Procesamiento sísmico.
– Tomografía computarizada.
– Procesamiento digital de imágenes y
señales.
– Cualquier aplicación que requiere un
gran volumen de cálculos numéricos.
Nombre de la variable Descripción Tipo
Variable Descripción Tipo
I Contador y subíndice Entero
V Contador y subíndice Entero
V Nombre del arreglo de ventas Entero
VA Representa la venta mayor realizada
Entero
APLICACIÓN DE MARKETING
En un arreglo se tienen registradas las ventas de cinco
empleados durante cinco días de la semana. Se requiere
determinar cuál fue la venta mayor realizada. Realice un algoritmo para tal
fin y represéntelo mediante diagrama de flujo, pseudocódigo y diagrama
N/S. Para resolver este problema se debe entender que en el arreglo al
que se hace referencia, los renglones definen a los empleados y las
columnas los días de la semana, en consecuencia, se trata de un arreglo
de 5 x 5. Lo que se trata de encontrar es el valor mayor almacenado en el
arreglo. En la tabla 5.8 se muestran las variables que se requieren utilizar
para generar el algoritmo solución de este problema.
16/06/2017JUAN CARLOS APAZA PAUCARA
40
V [I, J] > MA
J>5
MA
V[I,J]
INICIOI
FIN
I>5I=I+
1
J=1
J=J+1
MA = V [1,
1]
V [I, J]
I>5
J >5J=1
J=J+1
I = 1
I = I + 1
16/06/2017JUAN CARLOS APAZA PAUCARA
41
ALGORITMO DE MARKETING
1. Inicio
2. Desde I = 1 hasta I = 5
Desde J = 1 hasta J = 5
Leer V [I, J]
Fin desde
Fin desde
3. Hacer MA = V [1, 1]
4. Desde I = 1 hasta I = 5
Desde J = 1 hasta J = 5
Si V [I, J] > MA
Entonces
Hacer MA = V [I, J]
Fin compara
Fin desde
Fin desde
5. Escribir MA
6. Fin
Pseudocódigo Algoritmo para determinar la
venta mayor de la semana16/06/2017JUAN CARLOS APAZA PAUCARA
42
16/06/2017
43
Parrino, Mario. (2010)
Heurística aplicada a la asignación de recursos humanos en una Universidad
JUAN CARLOS APAZA PAUCARA
16/06/2017
44
CONCLUSIONES
Las Conclusiones son las siguientes:
1. La teoría de los algoritmos eficientes en optimización discreta,
combinatoria y continua es aplicable en hallar el trayecto más corto
entre dos estaciones es algo que interesa a muchos viajeros del metro y
se pueden obtener aproximaciones bastante buenas del mundo real
utilizando algunos de los algoritmos que obtienen distancias mínimas.
2. La utilidad de los algoritmos, sirven para procesar cadenas, o algoritmos
criptográficos, y otros de optimización basados en búsquedas los
cuales recorren el espacio de soluciones tratando de conseguir una
buena solución en un tiempo razonable para minimizar o maximizar un
valor y tratando de evitar quedarse estancado en mínimos o máximos
locales.
3. El conocimiento adecuado de algoritmia y estructuras de datos facilita
el poder pasar de un lenguaje de programación a otro con mucha
mayor facilidad: puesto que ya se tiene la base, sólo hace falta superar
las dificultades técnicas particulares de cada lenguaje.
.
JUAN CARLOS APAZA PAUCARA
16/06/2017
45
RECOMENDACIONES
Las recomendaciones son las siguientes:
1. En el modelamiento cuantitativo para la toma decisiones es necesario
la aplicación de las matemáticas en el diseño de los algoritmos
apropiados pata la solución de Riesgos e incertidumbre de los
mercados.
2. Los gerentes deben recibir capacitación en Los Métodos heurísticos y l
metaheurísticos que son una alternativa para la solución aproximada
de los problemas complejos.
3. Deben orientar trabajos de investigación en la optimización de los
sistemas.
JUAN CARLOS APAZA PAUCARA
REFERENCIAS BIBLIOGRÁFICASParrino, Mario. (2010). Heurística aplicada a la asignación de recursos humanos en una
Universidad. U. de Palermo Buenos Aires.
Ramos Andrés, Sánchez Pedro, Ferrer, Barquin y Linares. (2010). Modelos matemáticos de
optimización. Universidad Pontificia ICAE. Madrid.
Cairó Olvaldo, (2005). Metodología de la programación (algoritmos, diagramas de flujo y
programas), Editorial Alfaomega, Segunda edición.
Ferreyra Cortés Gonzalo. (2001). Informática para cursos de bachillerato, Editorial
Alfaomega, Segunda Edición
Imágenes obtenidas del Software DFD y Pseint.
Joyanes Aguilar Luís, Rodríguez Luis y Fernández Matilde. (1996). Fundamentos de
programación (Algoritmos, estructuras de datos y objetos), Editorial McGraw Hill,
Tercera Edición.
López Garcia, Juan Carlos. (2009). Algoritmos y programación. Segunda edición. Colombia.
Povedano Natividad Adamuz y López. Rafael Bracho. (2014). Algoritmos flexibles para las
operaciones básicas como modo de favorecer la inclusión social. Revista
Internacional de Educación para la Justicia Social (RIEJS), 3(1), 37-53. Universidad
de Córdoba
Samperio Monroy Theira Irasema. (2013). Representación de algoritmos. UA de Estado de
Hidalgo.
Soria C ., Pandolfi D., Villagra S y Villagra A. (2014). Algoritmos de Búsqueda Dispersa
aplicados a problemas de Optimización Discreta. UNPA. Caleta Olivia.
16/06/2017JUAN CARLOS APAZA PAUCARA
46
16/06/2017JUAN CARLOS APAZA PAUCARA
47
APÉNDICE
Tipo de
datos
Numéricos
Lógicos
Alfanuméricos
Entero y real
V o F
2, a. *. L´_b.---
Variables Prom=(a+b+c)/3
Constantes Pi, k
Operadores
y expresiones
Expresiones
Operadores matemáticos
Operador de asignación
Operador de relación
Operador de lógicos
Resultado=a*(2)
+ - * / ^ **
=
> < >= <= < >
AND, OR, NOT
Prioridad entre los Operadores
1) Matemáticos
2) Relacionales
3) Lógicos
4) De asignación
Siempre se
ejecutan de
izquierda a
derecha en caso
de haber dos ó
más operadores
con el mismo nivel
de prioridad.
16/06/2017
49
MUCHAS GRACIAS
JUAN CARLOS APAZA PAUCARA