Sei sulla pagina 1di 49

UNIVERSIDAD NACIONAL JORGE

BASADRE GROHMANN
1
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

Tacna, 18 abril de 2020 16/06/2017


2
Í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

JUAN CARLOS APAZA PAUCARA 16/06/2017


RESUMEN
ANÁLISIS DE LOS MODELAMIENTOS DE ALGORITMOS EN LA
GESTIÓN ADMINISTRATIVA

3 Apaza Paucara, Juan Carlos*

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 16/06/2017


ANALYSIS OF ALGORITHM MODELS IN
ADMINISTRATIVE MANAGEMENT
4 Apaza Paucara, Juan Carlos* y Mamani, Mercedes**
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 ,.

JUAN CARLOS APAZA PAUCARA 16/06/2017


I. DEFINICIÓN
ALGORITMO
5
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
Definición de Algoritmo

6 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
II. Los algoritmos del Siglo XX
AÑO ALGORITMO APLICACIÓN
7
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 Una solución elegante a un problema común en


programación lineal. planificación y toma de decisiones.
1950 Método de iteración de Una técnica para solución rápida de ecuaciones
subespacios de Krylov lineales que abundan en computación científica.
1951 Enfoque descomposicional Un conjunto de técnicas para el álgebra lineal
para cómputo de matrices numérica.
1957 El compilador Fortran de Cambia código de alto nivel en código
optimización informático eficiente y legible.

1959 Algoritmo QR para cálculo de . Otra operación crucial de matrices hecha rápida
valores propios y práctica.
JUAN CARLOS APAZA PAUCARA 16/06/2017
Los algoritmos del Siglo XX

AÑO ALGORITMO APLICACIÓN


8
1962 Algoritmos de ordenamiento Para el manejo eficiente de grandes bases de
rápido (Quicksort). datos.

1965 Transformada Rápida de Tal vez el algoritmo de mayor alcance en


Fourier (FFT). matemáticas aplicadas en uso hoy en día,.
Descompone formas de onda en componentes
periódicos.
1977 Detección de relación entre Un método rápido para detectar ecuaciones
enteros 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


III. LA OPTIMIZACIÓN FUNCIÓN
OBJETIVA
9
OPTIMIZACIÓN PROBLEMAS

VARIABLES
MÉTODOS
RESTRICCIONES
CLÁSICO METAHEURÍSTICA
ALGORITMO

Inteligencia
artificial Imitan fenómenos
sencillos observados
en la naturaleza

JUAN CARLOS APAZA PAUCARA 16/06/2017


La clasificación de métodos de resolución mediante
heurísticos: Constructivos

10 MÉTODOS Descomposición
EURÍSTICOS Se utiliza: No
hay método Reducción
exacto.
Demora, Manipulación
METAHEURÍSTICOS
limitaciones del modelo
Variable búsqueda por
Se basan en la aplicación de Enteras y entornos
reglas sencillas. Se diferencia, reales
tratan de huir de óptimos Son ciegas
locales orientada en búsqueda
permanente dependiendo de la
Algoritmos aproximativos
evolución del proceso de
búsqueda Relativamente sencillos

Son generales
Aceptan
. ocasionalmente
malos movimientos (Procesos La regla de selección depende del instante
de búsqueda) del proceso y de la historia hasta ese
momento.
JUAN CARLOS APAZA PAUCARA 16/06/2017
García Sánchez, Alvaro. Técnicas metaheurísticas (p:2-4). http://www.iol.etsii.
upm.es/arch/metaheuristicas.pdf
Lenguajes de programación general (C,
C++, Java, Visual Basic, FORTRAN 90) que
11 llaman a una biblioteca de optimización

Ramos, Andrés, Bibliotecas de componentes orientados a objetos


Sánchez. Pedro, Ferrer, (clases C++) para optimización: Concert de ILOG,
Barquin y Linares. (2010). 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).

MODELAMIENTO 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.)

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)
JUAN CARLOS APAZA PAUCARA y XPRESS-MP 16/06/2017

(www.dashoptimization.com) de origen europeo. OLP Inegrada.


Tabla: tipos de problemas de optimización dentro de los métodos
clásicos. Las variables (reales/continuas o enteras/discretas).
12

JUAN CARLOS APAZA PAUCARA 16/06/2017


Algoritmo adaptativo.
Todos los algoritmos incorporan la profundidad, el tiempo de
fondo y la mezcla de gases como elementos para calcular el tiempo
13 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.
ALGORITMOS ABIERTOS BASADOS EN NÚNEROS (ABN)
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).
JUAN CARLOS APAZA PAUCARA 16/06/2017
14 EL PROCESO
DIGESTIVO

Procesos,
GESTACIÓN
ALGORITMOS rutinas o Como
NATURALES biorritmos
naturales
LAS
ESTACIONES
López, (2009) “El
proceso digestivo es un concepto
intuitivo de algoritmo con el que se
convive a diario sin que haga falta LOS CICLOS
un definición “matemática” del CÓSMICOS, Etc.
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”
JUAN CARLOS APAZA PAUCARA 16/06/2017
(p:21).
ALGORITMOS EVOLUTIVOS PARA OPTIMIZACIÓN Método de
campo científico e industrial es intratable. garantía
ALGORITMOS Búsqueda Solución de
15EVOLUTIVOS dispersa alta calidad
1960 BD(V. Tiempo
Actualmente Discreta) Razonable
Aunque no garantice
Un método exacto necesita un una solución óptima
tiempo polinomial para global
garantizar la optimalidad de la
solución. problemas
denominados NP-duros
Métodos
Variable aproximados
Contínua. METAHEURÍSTICA HEURÍSTICOS
La Búsqueda Tabú (Tabu
El Recocido Simulado Search) (Glover 1989)
(Simulated Annealing) (Van Los Algoritmos Genéticos
Laarhoven y Aarts 1987), (GA) (Holland 1992)
.
La Búsqueda Dispersa (Scatter Las Colonias de Hormigas
Search) (Glover et al. 2000) (ACO), entre otras
JUAN CARLOS APAZA PAUCARA
Soria C ., Pandolfi D., Villagra S y Villagra A. (2014). Algoritmos de Búsqueda
16/06/2017

Dispersa aplicados a problemas de Optimización Discreta.


Algoritmos Genéticos
16

…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),

JUAN CARLOS APAZA PAUCARA 16/06/2017


IV. PROCEDIMIENTOS CONSTRUCTIVOS
Todo algoritmo consta de tres secciones principales:
17
Entrada Proceso Salida
introducción de datos Es el conjunto de operaciones a realizar
para dar solución al problema.
resultados obtenidos
ANALIZAR UN
PROBLEMA

DEPURAR UN DISEÑAR UN
ALGORITMO ALGORITMO

TRADUCIR
UN
JUAN CARLOS APAZA PAUCARA 16/06/2017
ALGORITMO
Resolución de problemas por computadoras

18

IDENTICACIÓN
DEL PROBLEMA
Resolución Aprender un
de PCs lenguaje de
Problemas FASE RESOLUCIÓN
programación

IMPLEMENTACIÓN

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
JUAN CARLOS APAZA PAUCARA 16/06/2017

/Guia_de_algioritmos.pdf
Resolución de problemas por computadoras

19 Idea clara
sobre lo que se
Análisis del solicita
problema
Trazar Datos necesarios
un plan
Diseño del Preciso
algoritmo Definido,
FASE Consitente
IDENTICACIÓN
Finito
DEL PROBLEMA
Resultado
Verificación correcto,
del esperado
algoritmo Ejecución manual
Prueba de
algoritmo

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
JUAN CARLOS APAZA PAUCARA 16/06/2017

/Guia_de_algioritmos.pdf
Diagrama de flujo Inicio/final

20 Entrada
Es una notación gráfica para general
implementar algoritmos.
Entrada por
teclado

Llamada por
subrutina
Diagrama
de flujo Acción o
proceso general

Conector páginas Conector en Flujo


diferentes página
Decisión

Iteración
Salida Salida
JUAN CARLOS APAZA PAUCARA
Pantalla Impresora
16/06/2017
Diagrama de Flujo Elemental.

INICIO INICIO

Declaración e
Declaración e Inicialización de
Inicialización de Variables
Variables

Entrada de
Datos
Entrada de
Datos
Condici
Si ón No
Procesamiento de Verdad
Datos era?

Acción 1 Acción 2
Presentación
de
Resultados
en Pantalla
Presentación
de
Resultados
FIN en Pantalla

FIN
V. PSEUDOCÓDIGO
• 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.
Pseudocódigo: Diseño
23

Definición del problema


Pseudocódigo
Análisis del problema

Selección de la mejor

alternativa

Algoritmo

Diagramación
16/06/2017 JUAN CARLOS APAZA PAUCARA
Pseudicódigo: Definición del Problema
24
Está dada por el enunciado
del 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


Pseudicódigo: Definición del Problema
25

Hallar el salario mensual de un


Ejemplo1
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/201
JUAN CARLOS APAZA PAUCARA
7
Pseudocódigo: Análisis
26 del Problema
Los datos de
entrada que nos
suministran

El proceso que El programa deberá mostrar


el nombre y el sueldo del empleado
debe realizarse
CasoSmuaeylodrode 40
Los datos de Hallar Sueldo=(40*val_hora) +
salida o ((1.5*val_hora)*(Horas-40))
resultados que
se esperan
16/06/201
JUAN CARLOS APAZA PAUCARA
7
ALGORITMO: Definición de Constantes
y Variables
27

No existe un valor
dentro del programa
Constantes que debe permanecer
constante

Variables

nombre,
val_hora,
Horas, Sueldo

JUAN CARLOS APAZA PAUCARA


16/06/2017
ALGORITMO - PSEUDOCODIGO
28

 Inicio Inicio
1. Solicitar los datos del empleado Haga nombre=“”, val_hora=0, Horas=0,
2. Almacenar los datos Sueldo=0
3. Si el numero de horas es mayor a Mostrar “Digite datos del empleado” Capture
cuarenta entonces nombre, val_hora, Horas Si (Horas
1. Hallar el valor del sueldo teniendo
<=40)entonces
en cuenta que el valor de la hora Haga sueldo=Horas * val_hora;
adicional será mas el 1.5% si no
Haga sueldo=(Horas * val_hora)+
2. Si no paso 3 entonces hallar el
valor del sueldo normalmente.
((Horas-40)*(1.5*val_hora));
Fin si
 4. Generar el nombre del empleado y Mostrar “El sueldo de :“, nombre, “es: ”, sueldo
su sueldo.
Fin
 Fin

JUAN CARLOS APAZA PAUCARA


16/06/201
7
ALGORITMO - DF Inicio

29 nombre=“”, val_hora=0, Horas=0,


Sueldo=0
 Inicio
1. Solicitar los datos del empleado “Digite datos del empleado”
2. Almacenar los datos
3. Si el numero de horas es mayor a
nombre, val_hora, Horas
cuarenta entonces
1. Hallar el valor del sueldo teniendo
en cuenta que el valor de la hora Horas= =40
adicional será mas el 1.5%
2. Si no paso 3 entonces hallar el sueldo=(Horas * val_hora)+
valor del sueldo normalmente. sueldo=Horas * val_hora;
((Horas-40)*(1.5*val_hora));
 4. Generar el nombre del empleado y
su sueldo. “El sueldo de :“, nombre, “es: ”,
 Fin sueldo

JUAN CARLOS APAZA PAUCARA Inicio 16/06/201


7
Pseudicódigo: Definición del Problema
30

Clasificar las hojas de vida de un


Ejemplo2
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


Pseudocódigo: Análisis del Problema

31

Las
El operaciones
programa que es
deberá mostrar necesario
si el empleado hacer,
Los datos de
en este caso, son Comparaciones
es apto para el Departamento de
entrada que nos producción
O para la Secretaría de Gerencia
suministran O No cumple con los requisitos

M (Edad)
El proceso que
con los
debe realizarse

Los datos de
salida o F (Estudios) requisitos
resultados que se Es apto
esperan Dpto Prod.

16/06/2017 JUAN CARLOS APAZA PAUCARA


ALGORITMO: Definición de
Constantes y Variables
32

No existe un valor
dentro del programa
Constantes que debe permanecer
constante

Variables
nombre,
Sexo,
Edad
LibretaM,
JUAN CARLOS APAZA PAUCARA
certifE
16/06/201
7
ALGORITMO - PSEUDOCODIGO
33
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
3.1.1 Si tiene Libreta Militar entonces
3.1.1.1 Indicar que es apto para Dpto de Producción
3.1.1.2 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

16/06/2017 JUAN CARLOS APAZA PAUCARA


PSEUDOCODIGO
34
Inicio
• 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 no
Mostrar 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 ”
Fin
16/06/2017 JUAN CARLOS APAZA PAUCARA
Inicio Diagrama de Flujo

nombre=“
35 ”, sexo=“ ”, edad=0,
LibretaM=“ ”, certifE=“ ”

“Digite datos del empleado”

nombre, sexo, edad,


LibretaM, certifE

Si
Edad>20
Si LibretaM Si
nombre, “es apto para
sexo= =M && ==
Si Dpto Producción ”
Edad<25
No 1
No No
No cerfE= =S Si
nombre, “no cumple con los
1 requisitos ”

nombre, “es apto para Secretaría


General ” Fin

16/06/2017 JUAN CARLOS APAZA PAUCARA


Resolución de problemas por computadoras

36 Codificación o
Traducción
Lenguaje de
programación
Ejecución

FASE
IMPLEMENTACIÓN
Comprobació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
JUAN CARLOS APAZA PAUCARA 16/06/2017

/Guia_de_algioritmos.pdf
Ciclo de Vida en cascada con prototipos

37
Investigación
preliminar

Breve análisis Definir requisitos


y especificación

Diseño
y realización

Evaluación

OK
KO Modificación

Diseño

...
JUAN CARLOS APAZA PAUCARA 16/06/2017
FAMILIA DE LENGUAJES DE PROGRAMACIÓN
TIPO NOMBRE DESARROLLO
Imperativos FORTRAN desarrollado por J. Backus desde 1955 hasta 1958.
38
(se inspiran en la COBOL (COmmon Business Oriented Language) 60.
máquina de Von- ALGOL (ALGOrithmic Language)
Neumann y toman BASIC (Beginner’s All-purpose Symbolic Instruction Code), por T. Kurtz y J. Kemeny 60.
como modelo PASCAL Creado por N. Wirth en 1970
teórico las máquinas C Desarrollado a principios de los años 70
de Turing) ADA Desarrollado entre 1975 y 1980
FUNCIONALES LISP (LISt Processing). Desarrollado por J. McCarthy en 1958
(tomar otras Scheme Scheme. Desarrollado por G. J. Sussman y Steele Jr. en 1975
funciones como ML Creado por R. Milner en 1975
argumentos y Haskell Desarrollado por un comité internacional en 1990
devolver funciones.)
ORIENTADOS A Simula Desarrollado por O. J. Dahl y K. Nygaard entre 1962 y 1967
OBJETOS Smalltalk Smalltalk. Desarrollado por A. C. Kay en 1971
(la herencia que C++ Creado en 1985 por B. Stroustroup
facilita la reutilización Java Desarrollado por J. Gosling en 1993
de código.) Python Creado por Guido van Rossum en 1990
C# C#. Creado por Microsoft para la plataforma .NET en 1999.
PROGRAMACIÓN Prolog Creado en 1972 por J. Colmerauer
LÓGICA (Utiliza el Curry Curry. Creado por M. Hanus en 1996
algoritmo de
resolución para
buscar soluciones)
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
V. APLICACIONES
39 ALGORITMOS RÁPIDOS
Se requiere conocimiento en matemáticas
sobre:
APLICACIONES • Teoría de números.
• Campos y anillos finitos sobre los
números enteros.
Los algoritmos rápidos se requieren en • Polinomios mínimos y conjugados.
programación de sistemas asociados • Polinomios ciclotómicos.
a: • Campos y anillos de polinomios.
– Sonar. • Grupos.
– Radar. • Espacios vectoriales.
– Procesamiento sísmico. • Algebra lineal.
– Tomografía computarizada. Se requiere conocimiento en
– Procesamiento digital de imágenes y computación sobre:
señales. • Programación.
– Cualquier aplicación que requiere un • Programación avanzada.
gran volumen de cálculos numéricos. • Estructura de datos.

JUAN CARLOS APAZA PAUCARA 16/06/2017


APLICACIÓN DE MARKETING

40 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.

Nombre de la Variable Descripción


variable Tipo
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 Entero


realizada
JUAN CARLOS APAZA PAUCARA 16/06/2017
ALGORITMO DE MARKETING

41

INICIOI

MA = V [1,
I=1
I>5 1] I>5 MA
I=I+ I=I+1
1
J=1
J>5 J=1 FIN
J=J+1 J >5
J=J+1
V[I,J]
V [I, J] >
MA

V [I, J]

JUAN CARLOS APAZA PAUCARA 16/06/2017


1. Inicio
42 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 semana
JUAN CARLOS APAZA PAUCARA 16/06/2017
Heurística aplicada a la asignación de recursos humanos en una Universidad

43

JUAN CARLOS APAZA PAUCARA 16/06/2017


Parrino, Mario. (2010)
CONCLUSIONES
44
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

.
RECOMENDACIONES
45
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 16/06/2017


REFERENCIAS BIBLIOGRÁFICAS
Parrino, Mario. (2010). Heurística aplicada a la asignación de recursos humanos en una
46 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.

JUAN CARLOS APAZA PAUCARA 16/06/2017


APÉNDICE

47

Tipo de Numéricos Entero y real


datos Lógicos VoF
Alfanuméricos 2, a. *. L´_b.---
Variables Prom=(a+b+c)/3
Constantes Pi, k
Operadores Expresiones Resultado=a*(2)
y expresiones Operadores matemáticos + - * / ^ **
Operador de asignación =
Operador de relación > < >= <= < >
Operador de lógicos AND, OR, NOT

JUAN CARLOS APAZA PAUCARA 16/06/2017


Prioridad entre los Operadores

1) Matemáticos Siempre se
ejecutan de
2) Relacionales izquierda a
derecha en caso
de haber dos ó
3) Lógicos
más operadores
con el mismo nivel
4) De asignación de prioridad.
49

MUCHAS GRACIAS

JUAN CARLOS APAZA PAUCARA 16/06/2017

Potrebbero piacerti anche