49
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

El algoritmo

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

Page 1: El algoritmo

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

Page 2: El algoritmo

Í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

Page 3: El algoritmo

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*

Page 4: El algoritmo

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**

Page 5: El algoritmo

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

Page 6: El algoritmo

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

Page 7: El algoritmo

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

Page 8: El algoritmo

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

Page 9: El algoritmo

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

Page 10: El algoritmo

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

Page 11: El algoritmo

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

Page 12: El algoritmo

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

Page 13: El algoritmo

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

Page 14: El algoritmo

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

Page 15: El algoritmo

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

Page 16: El algoritmo

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

Page 17: El algoritmo

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

Page 18: El algoritmo

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

Page 19: El algoritmo

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

Page 20: El algoritmo

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

Page 21: El algoritmo

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

Page 22: El algoritmo

• 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

Page 23: El algoritmo

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

Page 24: El algoritmo

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

Page 25: El algoritmo

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

Page 26: El algoritmo

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

Page 27: El algoritmo

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

Page 28: El algoritmo

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

Page 29: El algoritmo

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

Page 30: El algoritmo

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

Page 31: El algoritmo

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

Page 32: El algoritmo

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

Page 33: El algoritmo

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

Page 34: El algoritmo

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

Page 35: El algoritmo

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

Page 36: El algoritmo

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

Page 37: El algoritmo

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

Page 38: El algoritmo

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

Page 39: El algoritmo

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.

Page 40: El algoritmo

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

Page 41: El algoritmo

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

Page 42: El algoritmo

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

Page 43: El algoritmo

16/06/2017

43

Parrino, Mario. (2010)

Heurística aplicada a la asignación de recursos humanos en una Universidad

JUAN CARLOS APAZA PAUCARA

Page 44: El algoritmo

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

Page 45: El algoritmo

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

Page 46: El algoritmo

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

Page 47: El algoritmo

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

Page 48: El algoritmo

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.

Page 49: El algoritmo

16/06/2017

49

MUCHAS GRACIAS

JUAN CARLOS APAZA PAUCARA