Está en la página 1de 34

Instituto Politécnico Nacional

1.1 Definiciones básicas:


Problema y Caso o
Instancia
Algoritmos
Computacionales

MC Sergio Fuenlabrada Velázquez


MSI Edna Martha Miranda Chávez

Unidad Profesional Interdisciplinaria de


Ingeniería y Ciencias Sociales y
Administrativas “La técnica al
servicio de la patria”
• Definiciones básicas:
– Problema
– Objetivo

Contenido
– Solución
– Algoritmo
– Algoritmo Computacional
– Caso o Instancia.

2
Que preguntas pretende resolver el material
elaborado para esta materia.

• ¿Qué es un algoritmo?
• ¿Para que o porque se genera un algoritmo?
• ¿Cuándo se puede crear un algoritmo?

Objetivo
• ¿Quién genera algoritmos?
• ¿Cómo diseñar algoritmos?
• ¿Cómo expresar algoritmos?
• ¿Cómo validar algoritmos?
• ¿Cómo analizar algoritmos?
• ¿Cómo probar un programa?

3
“Es importante resaltar que la
programación es un acto de solución
de problemas. Y que el saber
programar no es aprender uno o más
lenguajes de programación; sino
conocer y saber utilizar métodos que
permitan la construcción sistemática
de algoritmos ….. debiendo utilizar
metodologías de programación para la
resolución de problemas.”.
Mercedes Gómez Albarrán
Dpto. de Sistemas Informáticos y Programación
Universidad Complutense de Madrid
4
Definición de problema
• El hombre ha estado siempre
vinculado con la problemática que
le presenta el medio ambiente.

Problema
• En el siglo IX, el matemático Abu
Ja´Far Mohamed Ibn Musa Al-
Khowarizni fija las primeras reglas
para resolver operaciones clásicas.

5
Definición de problema
• Etimológicamente, la palabra problema

Problema
deriva del griego πρόβλημα
(proballein) y significa “algo lanzado
hacia delante”. Se puede deducir que
un problema es un asunto o un
conjunto de cuestiones que se
plantean para ser resueltas.

6
Definición de problema
• “Conjunto de hechos o circunstancias que dificultan la
consecución de algún fin”.
Real Academia Española

• Es la desviación de los resultados esperados.

Problema
• El proceso físico, mental o mecánico en donde se
presenta diferentes tipos de resistencia o inercia que
deben de vencerse para obtener el resultado deseado.

Los problemas generan


necesidades; para
¿Que resultados estamos
resolver un problema
obteniendo ahora? debemos encontrar su
¿Que resultados deseamos origen (evitando los
obtener? distractores).

7
Diferencia entre
• Necesidad.- Esta en necesidad y deseo
función directa de una
problemática, es una ?
situación real que debe
ser resuelta.

Problema
n
e d
c e
• Deseo.- Esta íntimamente e s
ligado a los sentimientos, s e
i o
anhelos y sueños de las
d
personas (irracionales, a
inalcanzables e d
improbables)
8
Dese
ad &
esid
Nec

o
• La razón de generar un sistema, software,
proceso, programa o algoritmo
forzosamente debe corresponder a dar
solución a una necesidad.

Problema
• Cuando la razón de generarlos obedece al
cumplimiento de un deseo, la probabilidad
de éxito disminuye drásticamente.
• Un deseo no esta relacionado con una
necesidad y por lo tanto el costo/beneficio
de su creación es pobre y difícil de definir.

9
Definición de finalidad y medio

Fines Medios
• Finalidad(fin) es una Pie
meta a alcanzar; un Bicicleta
objetivo. Transportarse Patineta
Motocicleta
y placer Coche económico
Pecera
Metro
• Medios es el

Problema
Camión
elemento que nos Rolls Royce
permite alcanzar un Estátus Mercedes
Avión
fin.
El fin permite establecer el mejor medio

Se deben efectuar estas preguntas Finalidad


¿Que finalidad se persigue? •Mesurable
¿Si se hace determinada cosa, cual será el •Medible
•Justifica
resultado?

10
Definición de objetivo

• Elemento programático que identifica la


finalidad hacia la cual deben dirigirse los
recursos y esfuerzos para dar
cumplimiento a la misión de una

Objetivo
organización.

• En programación, es el conjunto de
resultados cualitativos que el programa
se propone alcanzar a través de
determinadas acciones.

11
Tipos de objetivos

• Individuales y Colectivos
• Generales y Particulares

Objetivos
• Básicos , Secundarios y Colaterales
• Corto y Largo Plazo
• Naturales y Subjetivos (arbitrarios )

12
Objetivos individuales y colectivos
Los objetivos
individuales deben
coincidir con los
propósitos del grupo

Objetivos
Objetivos Generales y Particulares
particulares

particulares Generales

particulares

13
natur

subje
tivos

tivos
Obje

ales
y
Objetivos Generales
Naturales Subjetivos

Orden Sin justificación


calidad no aportan al éxito

Objetivos
tenacidad

• Económicos
$ • Distributivos del
Propósitos de
ingreso.
los objetivos
• Maximización de
beneficios
14
Regla

tivos
Obje
para
fijar
s
Como definir un objetivo:

Debe responder a estas preguntas:


– ¿Qué?
– ¿Cómo?

Objetivos
– ¿Cuándo?
– ¿Por qué?
– ¿Para que?
– ¿Dónde?

15
Como definir un objetivo

•¿Que? •¿Dónde?
• ¿Qué se busca alcanzar? • ¿Se generará la solución?
meta
• ¿Qué se pretende? • ¿Done operara, Qué área que
usa el producto?

Objetivos
• ¿Cuál es la meta? •¿Cuándo?
•¿Cómo? usuario
• ¿Cuándo debe lograrse?
• ¿Cómo se pretende lograr? • ¿Tiempo en que se entregan
• ¿En forma integral o parcial? soluciones parciales?
• ¿De forma inmediata o largo • ¿Es urgente o puede ser
plazo? postergable?
•¿Quién? •¿Por qué?
• ¿Quién es el responsable? • ¿Por que se persigue el
objetivo, por que se genera la
• ¿Quienes lo generaran, solución?
quienes lo harán posible?
•¿Es subjetivo?
•¿Es un objetivo personal?

16
Estrategias para alcanzar los objetivos

Se debe tomar en cuenta que existen factores


que pueden apoyar o afectar el logro de lo(s)
objetivo(s).

Objetivos
Si se detecta que existen factores negativos que
perjudiquen el logro de lo(s) objetivo(s), se
debe evaluar si continuar o no con el logro del
objetivo planteado o en su caso determinar si
se puede replantear el objetivo de tal forma
que exista una mayor probabilidad de éxito.

17
Tipos de factores que influyen en el logro
de los objetivos
Factores estratégicos.-
Factores mensurables Influyen en forma
(medibles).- Pueden ser decisiva al logro del
cuantificados. Base más
objetiva y confiable a objetivo, se debe cuidar

Objetivos
diferencia de los de mera que estos factores sean
apreciación. siempre propicios.
Factores imprevisibles.-
Factores controlables.- Son Son aquellos que se
factores que podemos presentan en forma
adquirir o manipular, se inesperada ó fortuita, se
conoce su origen, fuente, deben tratar de prever,
costo, etc.; a diferencia de los con el fin de buscar el
factores no controlables.
modo de controlarlos.

18
Tipos de factores que influyen en el
logro de los objetivos

• Internos - Pertenecer al • Externos - Pertenecer al


medio ambiente interno medio ambiente externo
como serian las políticas de

Objetivos
como seria la Política
la dirección, disponibilidad económica del país e
de herramientas, productos y internacional, sociedad,
procesos que ayudarán al avances técnicos,
logro de la meta, estabilidad etcétera.
en el financiamiento, fuerza
de trabajo, disponibilidad de
suministros, etcétera.

19
Definición de solución
“La forma de como lograr el objetivo se le denomina, La
solución”.
– Alternativas de solución (al menos con dos alternativas).
– “En el proceso para encontrar la solución se cambia

La solución
contantemente de puntos de vista”
– “La capacidad de soslayar (esquivar) una dificultad y
seguir un camino indirecto cuando el directo no
aparece, es lo que coloca al animal inteligente y a los
hombres de talento por encima de sus compañeros y
de los otros hombres”.
– En el proceso para la generación de la mejor
alternativa, se involucran varios factores, los cuales en
el grado que se apliquen determinara la calidad de la
propuesta de solución.
20
Solución
Se dice que se tiene una solución cuando el problema
se encuentra bajo control, o la situación que
presenta muestra los resultados deseados y

La solución
satisfactorios.

Se hace notar que no hay solución absoluta a


problemas, ya que esta se vuelve asintótica con
respecto a las necesidades, y en cuanto se pierde el
control del problema sus resultados varían.

21
Factores que determinan el éxito de una
solución
 Grado de conocimiento de la organización y área a
donde se aplicará la solución.
 Grado de conocimiento de la problemática.

La solución
 Grado de conocimiento del objetivo.
 Visión Objetiva y creativa.
 Experiencia laboral (en la generación de
soluciones).
 Actualización tecnológica.
 Apoyo de un grupo de trabajo con experiencia en
problemáticas similares.
 Nivel de inclusión del usuario en el proyecto
 Número de evaluaciones previas a la presentación
de la propuesta de solución.

22
po

ón
de
so
lu
Ti

ci
s
También existen los conceptos de :

• Resolución
Se da una resolución, cuando se obtienen resultados
parciales y los efectos más significativos del

La solución
problema se encuentran bajo control.

• Disolución
Se presenta una disolución cuando se eliminan o controlan las causas
del problema, de esta forma se establecen los controles para tener
un resultado deseable, sin someter al problema a un proceso
directo.

23
Idea
Solu
ción

l
Solución Ideal

¿Que se considera como la solución ideal?


¿Cual es la solución ideal?
¿Que satisfactores se desean?

La solución
La solución ideal estará en función del grado
de satisfacción de las necesidades del cliente,
utilización optima de recursos y beneficios o
utilidad devengada.

24
Definición de Algoritmo

“Es un conjunto claramente especificado de


instrucciones que deben realizarse para
resolver un problema”

Algoritmo
Sara Baase - 1991

“Es una especificación no ambigua de una


secuencia de pasos que sirven para resolver un
problema”
Aho 1995

25
Definición de Algoritmo
“Conjunto ordenado y finito de operaciones que
permite hallar la solución de un problema”
Diccionario de la Real Academia Española
Vigésima segunda edición

Algoritmo
“Un algoritmo es una especificación concisa de un
método para resolver un problema “
Luis Joyanes, Ignacio Zahonero, Mc Graw Hil

“Un algoritmo es una serie finita de pasos para


resolver o dar solución a un problema”
INACAP
26
Definición de Algoritmo Computacional

“Es un procedimiento computacional bien definido


que tiene algún valor o conjunto de valores como
entrada y produce un cierto valor o conjunto de
valores como salida. Es por tanto una secuencia de
pasos computacionales que transforman la entrada

Algoritmo
en la salida”.
Cormen 1991.

En conclusión:

“Un algoritmo es un cconjunto finito de


instrucciones computacionales que se encuentran
ordenadas de forma lógica, que se ejecutan de
forma secuencial, teniendo como objetivo común,
la solución a un problema”
27
Definición Caso
• Es la definicion de actividades, procesos o
pasos que deberán realizarse para llevar a
cabo un proceso o procedimiento.
• Los casos pueden presentarse en diferentes

Caso
niveles, conceptual y detallados. Esto es,
puede representar actividades generales o
detalladas, de acuerdo con el nivel que se
quiera desglosar.

28
Definición de instancia
• Acción o efecto de instanciar - repetir o insistir en un
petición, urgir la pronta ejecución de un objeto.
• Es la solicitud a la ejecución de un objeto (programa).
• En un mismo proyecto puedo tener una o más instancias
de una misma clase sin problemas.

Instancia
• Cada vez que creamos una nueva instancia, ésta adquiere
las propiedades, métodos y eventos de la clase a la que
pertenece , sin embargo, cada instancia es independiente
de las otras.
• Al ser independientes las instancias, pueden tomar
valores diferentes sin que afecten a las demás, aunque
compartan la misma estructura, pueden programarse
individualmente, dando versatilidad y flexibilidad al
código.
• Herencia si hay cambios en la clase, todas las instancias
de esta clase se actualizarán automáticamente.
29
Programación secuencial

Programación
• Programa secuencial: Declaraciones de
datos + instrucciones, ejecución
secuencial.

30
Programación concurrente
• Concurrencia - Describe el potencial para
ejecución paralela. Solapamiento real o
virtual de varias actividades en el tiempo

Programación
• Programa concurrente: Conjunto de
programas secuenciales ordinarios
ejecutados como procesos paralelos
(paralelismo abstracto).
• Notaciones y técnicas de programación
usadas para expresar paralelismo
potencial y solucionar los problemas de
sincronización y comunicación.

31
Seguridad (safety)

Los algoritmos deben desarrollarse con


especificaciones para que el usuario

Programación
tenga la tranquilidad de que “nunca
pasara algo malo con sus datos”.

32
Exclusión mutua
• Asegura que una secuencia de
sentencias (sección crítica) se trate
como un proceso u operación

Programación
indivisible.

Sincronización
• La sincronización establece que un
proceso no debe iniciar o continuar su
ejecución hasta que se cumpla una
condición
33
• Sznajdleder Pablo, Algoritmos a fondo, Editorial
Alfaomega,México 2012.

• Baase Sara, Van Gelder Allen, Algoritmos computacionales,


Introducción al análisis y diseño, Editorial Addison Wesley,
Tercera edición, México 2002, págs. 686, ISBN 970-6-0142-8.

BIBLIOGRAFÍA
• Brassard G., Bratley P., Fundamentos de Algoritmia, Editorial
Prentice Hall, México 1997, págs. 608, ISBN 84-89660-00-X.

• López Gustavo, Jeder Ismael, Vega Augusto, Análisis y Diseño de


Algoritmos, Implementación en C y Pascal, Editorial Alfaomega,
México 2009, págs. 309, ISBN 978-987-23113-9-1.

• Sisa Alberto Jaime, Estructura de datos y algoritmos, con énfasis


en programación orientada a objetos, Editorial Prentice Hall,
México 2002, págs. 310, ISBN 958-699-044-3.

34

También podría gustarte