Sie sind auf Seite 1von 38

PROBLEMAS Y SU APLICACIN

PASO 2

Tipos de Diagramas UML aplicados al mtodo de biseccin


1.

Clase

2.

Objeto

Casos de uso

3.

Actividades

4.
5.
6.
7.
8.
9.

De estado
Secuencia

Colaboracin
Componentes
Distribucin
10. Tiempo

NOTA: PARA VISUALIZAR MEJOR LOS DIAGRAMAS ESTAN EN UN ARCHIVO DE


POWER POINT
DIAGRAMAS UML BISECCION.pptx

PASO 3

Que es un seudocdigo
Un pseudocdigo (falso lenguaje), es una serie de normas lxicas y gramaticales
parecidas a la mayora de los lenguajes de programacin, pero sin llegar a la
rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquial. Esto permite
codificar un programa con mayor agilidad que en cualquier lenguaje de
programacin, con la misma validez semntica, normalmente se utiliza en las fases
de anlisis o diseo de Software, o en el estudio de un algoritmo. Forma parte de
las distintas herramientas de la ingeniera de software. No hay ningn compilador o
intrprete de pseudocdigo informtico (en el caso de que lo hubiera seran los
lectores de dicho pseudocdigo informtico, por ej. una idea de un jefe de
programacin al su personal), y por tanto no puede ser ejecutado en un ordenador,
pero las similitudes con la mayora de los lenguajes informticos lo hacen
fcilmente convertible. El pseudocdigo describe un algoritmo utilizando una
mezcla de frases en lenguaje comn, instrucciones de programacin y palabras
clave que definen las estructuras bsicas. Su objetivo es permitir que el
programador se centre en los aspectos lgicos de la solucin a un problema. No
siendo el pseudocdigo un lenguaje formal, varan de un programador a otro, es
decir, no hay una estructura semntica ni arquitectura estndar. Es una herramienta
gil para el estudio y diseo de aplicaciones, veamos un ejemplo, que podramos
definir como: lenguaje imperativo, de tercera generacin, segn el mtodo de
programacin estructurada.

El pseudocdigo describe un algoritmo utilizando una mezcla de frases en lenguaje


comn, instrucciones de programacin y palabras clave que definen las
estructuras bsicas. Su objetivo es permitir que el programador se centre en los
aspectos lgicos de la solucin a un problema. No siendo el pseudocdigo un
lenguaje formal, varan de un programador a otro, es decir, no hay una estructura
semntica ni arquitectura estndar. Es una herramienta gil para el estudio y
diseo de aplicaciones, veamos un ejemplo, que podramos definir como: lenguaje
imperativo, de tercera generacin, segn el mtodo de programacin estructurada.

DEFINICION DE DATOS DEL PSEUDOCOGIGO


La definicin de datos se da por supuesta, sobre todo en las variables sencillas, si
se emplea formaciones: pilas, colas, vectores o registros, se pueden definir en la
cabecera del algoritmo, y naturalmente cuando empleemos el pseudocdigo para
definir estructuras de datos, esta parte la desarrollaremos adecuadamente.

DEFINICION DE ESTRUCTURAS DE CONTROL

Como se haba mencionado antes, cada autor usa su propio pseudocdigo con sus
respectivas convenciones. Por ejemplo, considere la instruccin "Reemplace el
valor de la variable x por el valor de la variable y"; algunas de las posibles sintaxis
para indicar lo anterior podran ser: asigne a el valor de Sin embargo,
independientemente de estas diferencias, muchos autores consideran tres
estructuras de control para desarrollar los procedimientos:

SECUENCIAL
Las instrucciones se siguen en una secuencia fija que normalmente viene dada por
el nmero de rengln. Es decir que las instrucciones se ejecutan de arriba hacia
abajo. Instruccin1 Instruccin2 Instruccin3 Instruccinn

FUNCIONES Y PROCEDIMIENTOS
Muchas personas prefieren distinguir entre funciones y procedimientos. Una
funcin, al igual que una funcin matemtica, recibe un valor de entrada y regresa
una salida mientras que un procedimiento recibe una entrada pero no genera una
salida. En ambos casos es necesario dejar en claro cules son las entradas para el
algoritmo, esto se hace comunmente colocando estos valores entre parntesis al
principio o bien declarndolo explicitamente con un enunciado. En el caso de las
funciones, es necesario colocar una palabra como regresar o devolver para indicar

cul es la salida generada por el algoritmo. Por ejemplo, el pseudocdigo de una


funcin que

VENTAJAS AL UTILIZAR PSEUDOCODIGO


Permite representar de forma fcil operaciones repetitivas complejas. Es ms
sencilla la tarea de pasar de pseudocdigo a un lenguaje de programacin formal.
Si se siguen las reglas de identacin se puede observar claramente los niveles en
la estructura del programa. En los procesos de aprendizaje de los alumnos de
programacin, estos estn ms cerca del paso siguiente (codificacin en un
lenguaje determinado, que los que se inician en esto con la modalidad Diagramas
de Flujo) Obtenido de "http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo"

Objetivo
El principal objetivo del pseudocdigo es el de representar la solucin a un
algoritmo de la forma ms detallada posible, y a su vez lo ms parecida posible al
lenguaje que posteriormente se utilizara para la codificacin del mismo.

Las principales caractersticas de este lenguaje son:

* Se puede ejecutar en un ordenador


* Es una forma de representacin sencilla de utilizar y de manipular.
* Facilita el paso del programa al lenguaje de programacin.
* Es independiente del lenguaje de programacin que se vaya a utilizar.
* Es un mtodo que facilita la programacin y solucin al algoritmo del programa.

Todo documento en pseudocdigo debe permitir la descripcin de:

* Instrucciones primitivas
* Instrucciones de proceso
* Instrucciones de control
* Instrucciones compuestas
* Instrucciones de descripcin
Estructura a seguir en su realizacin:
Cabecera:

* Programa:
* Modulo:
* Tipos de datos:
* Constantes:
* Variables:

Cuerpo:

* Inicio
* Instrucciones
* Fin

ALGORITMO DE SOLUCION

En una situacin real lo que se requiere no es muchas veces una respuesta exacta
a un problema, sino ms bien una respuesta aproximada con una precisin
prescrita; que es justamente lo que se da en el planteamiento numrico de un
problema.
Usaremos el trmino algoritmo para describir un procedimiento que requiere de un
nmero finito de pasos para resolver un problema. Un mtodo numrico es un
algoritmo diseado para dar respuesta numrica a un problema con una precisin
prescrita. El clculo numricoevala los mtodos numricos diseados.
Un algoritmo se puede definir como un conjunto de reglas para efectuar un clculo,
bien sea a mano, o por medio de una maquina. La ejecucin de un algoritmo no
debe implicar, normalmente decisiones subjetivas, ni tampoco debe de hacer
preciso el uso de la intuicin. Por lo tanto se puede considerar que una receta de
cocina es un algoritmo si describe precisamente la forma de preparar un
determinado plato, proporcionndonos las cantidades exactas que debe usarse y
tambin instrucciones detalladas acerca del tiempo que debe de cocinarse. Pero si
la receta tiene instrucciones vagas como colocar sal al gusto, o guese hasta que
este medio hecho, esto no es un algoritmo.

Ahora no se debe confundir instrucciones vagas o no concretas con algoritmos


que usan conceptos o modelos aleatorios, los cuales son muy comunes cuando se
ejecutan simulaciones o bsquedas.

El concepto de algoritmos ha tomado mucha fuerza en los ltimos 50 aos, ya que


ha sido la metodologa que permite hacer implementaciones de ciertas soluciones
en los computadores. Los algoritmos son los que han permitido dar solucion a
problemas muy complejos, que en el caso de la logstica pueden ser: problemas de
ruteo, cubicaje, diseo de redes de distribucin, programacin de operarios,
asignacin de recursos a ciertas tareas, entre otros.

Por ese motivo muchos profesionales del rea de la logstica se han interesado en
aprender a crear algoritmos y a implementaros en algn lenguaje de programacin.
Entre las herramientas mas comunes por los profesionales de la logstica para
hacer sus algoritmos esta Visual Basic for Application de Excel, el tiene tres
grandes ventajas: i)Es un lenguaje fcil de aprender, ii) Tiene comunicacin con
Excel, iii) Y el hecho de que este soportado en Excel es una ventaja, porque la
mayora de las empresas tienen licencias de Excel.

Pero independientemente del lenguaje de programacin que se utilice, es de suma


importancia para los profesionales de la logstica poder tener nociones de
algoritmos, ya que como se nombro anteriormente muchos problemas de estas
rea, se solucionan por medio de estos.

Tiempo secuencial. Un algoritmo funciona en tiempo discretizado paso a paso,


definiendo as una secuencia de estados "computacionales" por cada entrada
vlida (la entrada son los datos que se le suministran al algoritmo antes de
comenzar).
Estado abstracto. Cada estado computacional puede ser descrito formalmente
utilizando una estructura de primer orden y cada algoritmo es independiente de su
implementacin (los algoritmos son objetos abstractos) de manera que en un
algoritmo las estructuras de primer orden son invariantes bajo isomorfismo.
Exploracin acotada. La transicin de un estado al siguiente queda completamente
determinada por una descripcin fija y finita; es decir, entre cada estado y el
siguiente solamente se puede tomar en cuenta una cantidad fija y limitada de
trminos del estado actual.
Medios de expresin de un algoritmo
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje
natural, pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros.
Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar
pseudocdigo y diagramas de flujo evita muchas ambigedades del lenguaje
natural. Dichas expresiones son formas ms estructuradas para representar
algoritmos; no obstante, se mantienen independientes de un lenguaje de

programacin especfico.La descripcin de un algoritmo usualmente se hace en


tres niveles:
Descripcin de alto nivel. Se establece el problema, se selecciona un modelo
matemtico y se explica el algoritmo de manera verbal, posiblemente con
ilustraciones y omitiendo detalles.
Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos que
encuentran la solucin.
Implementacin. Se muestra el algoritmo expresado en un lenguaje de
programacin especfico o algn objeto capaz de llevar a cabo instrucciones.
Tambin es posible incluir un teorema que demuestre que el algoritmo es correcto,
un anlisis de complejidad o ambos.

Mtodo de biseccin:
El mtodo de la biseccin o corte binario es un mtodo de bsqueda incremental
que divide el intervalo siempre en 2. Si la funcin cambia de signo sobre un
intervalo, se evala el valor de la funcin en el punto medio. La posicin de la raz
se determina situndola en el punto medio del subintervalo donde exista cambio de
signo. El proceso se repite hasta mejorar la aproximacin.
Algoritmo

Paso 1
Elegir los valores iniciales Xa y Xb, de tal forma de que la funcin cambie de signo:
f(Xa)f(Xb) < 0
Paso 2
La primera aproximacin a la raz se determina con la frmula del punto medio de
esta forma:

Paso 3
Realizar las siguientes evaluaciones para determinar el intervalo de la raz:
a.

Si f(Xa)f(Xb) < 0, entonces la solucin o raz est entre Xa y Xpm, y Xb pasa a


ser el punto medio (Xpm).

b.

Si f(Xa)f(Xb) > 0, entonces la solucin o raz est fuera del intervalo entre Xa y
el punto medio, y Xa pasa a ser el punto medio (Xpm).
Paso 4
Si f(Xa)f(Xb) = 0 Error = | Xpm Xpm 1 | < Tolerancia

Donde Xpm es el punto medio de la iteracin actual y Xpm 1 es el punto medio de


la iteracin anterior.

Al cumplirse la condicin del Paso 4, la raz o solucin es el ltimo punto medio


que se obtuvo.
Para el error relativo porcentual se tiene la siguiente frmula:

Ejemplos
Ejemplo 1:
Aproximar la raz de

hasta que .

Solucin
Sabemos por lo visto en el ejemplo 1 de la seccin anterior, que la nica raz de
se localiza en el intervalo . As que este intervalo es nuestro punto de partida; sin
embargo, para poder aplicar el mtodo de biseccin debemos checar que y
tengan signos opuestos.
Cabe mencionar que la funcin s es contnua en el intervalo . As pues,
tenemos todos los requisitos satisfechos para poder aplicar el mtodo de
biseccin. Comenzamos:
i) Calculamos el punto medio (que es de hecho nuestra primera aproximacin a la
raz):

ii) Evaluamos
iii) Para identificar mejor en que nuevo intervalo se encuentra la raz, hacemos la
siguiente tabla:

Por lo tanto, vemos que la raz se encuentra en el intervalo .


En este punto, vemos que todava no podemos calcular ningn error aproximado,
puesto que solamente tenemos la primera aproximacin. As, repetimos el proceso
con el nuevo intervalo .
Calculamos el punto medio (que es nuestra segunda aproximacin a la raz):

Aqu podemos calcular el primer error aproximado, puesto que contamos ya con la
aproximacin actual y la aproximacin previa:

Puesto que no se ha logrado el objetivo, continuamos con el proceso.


Evaluamos , y hacemos la tabla:

As, vemos que la raz se encuentra en el intervalo .


Calculamos el punto medio,

Y calculamos el nuevo error aproximado:

El proceso debe seguirse hasta cumplir el objetivo.


Resumimos los resultados que se obtienen en la siguiente tabla:

Aprox. a la raz Error aprox.


1.25
1.375

9.09%

1.3125 4.76%
1.28125 2.43%
1.296875

1.20%

1.3046875

0.59%

As, obtenemos como aproximacin a la raz

ALGORITMO DE SOLUCION
En matemticas, lgica, ciencias de la computacin y disciplinas relacionadas, un
algoritmo (del griego y latn, dixit algorithmus y este a su vez del matemtico persa
Al-Juarismi1 ) es un conjunto preescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
que no generen dudas a quien deba realizar dicha actividad.2 Dados un estado
inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se
obtiene una solucin. Los algoritmos son el objeto de estudio de laalgoritmia.1
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver
problemas. Algunos ejemplos son los manuales de usuario, que muestran
algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por
parte de su patrn. Algunos ejemplos en matemtica son el algoritmo de la divisin
para calcular el cociente de dos nmeros, el algoritmo de Euclides para obtener el
mximo comn divisor de dos enteros positivos, o el mtodo de Gauss para
resolver un sistema lineal de ecuaciones.

Caractersticas
Un algoritmo debe ser Preciso e indicar el rden de

realizacin de cada paso.


Un algoritmo debe ser Definido, es decir, si se sigue un
algoritmo dos veces, se debe obtener el mismo resultado.
Un algoritmo debe ser Finito, es decir, si se sigue el
algoritmo se debe terminar el algn momento.
Y
Una secuencia de instrucciones claras y finitas
Debe ser correcto y debe resolver el problema planteado
en todas sus facetas
Debe ser legible

Medios de la exprecion de un algoritmo


1.
Descripcin de alto nivel. Se establece el problema, se selecciona un modelo
matemtico y se explica el algoritmo de manera verbal, posiblemente con
ilustraciones y omitiendo detalles.

2.

Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos


que encuentran la solucin.
3. Implementacin. Se muestra el algoritmo expresado en un lenguaje de
programacin especfico o algn objeto capaz de llevar a cabo instrucciones.

Clasificacin de los algoritmos


Directos: Son aquellos que permiten encontrar la solucin al problema de manera
instntanea o directa, en un nmero determinado de pasos.
Ejemplo: 23 = 2*2*2 = 8
Indirecto:

a) Se ignora el nmero de pasos.

b) Son aquellos donde se desconocen el nmero de pasos para lograr la


solucin de un problema.
Estos a su vez, se clasifican en:

Finito: El nmero de pasos a realizar son conocidos as como la factibilidad de


solucin al problema planteado, o sea, que va a ver una respuesta al proceso.

Infinito:
Se desconoce el nmero de pasos a realizar, as como la imposibilidad de
encontrar la solucin al problema planteado.
Cuando realmente es imposible lograr la solucin, por ms vueltas que le demos al
problema

PSEUDOCODIGO DE SOLUCION
En ciencias de la computacin, y anlisis numrico el pseudocdigo (o falso
lenguaje) es una descripcin informal1 de alto nivel de un algoritmo informtico de
programacin, compacto e informal, que utiliza las convenciones estructurales de
un lenguaje de programacin verdadero2 , pero que est diseado para la lectura
humana en lugar de la lectura mediante mquina, y con independencia de cualquier
otro lenguaje de programacin. Normalmente, el pseudocdigo omite detalles que
no son esenciales para la comprensin humana del algoritmo, tales como
declaraciones de variables, cdigo especfico del sistema y algunas subrutinas.

ALGORITMO
PASO 1. Elija los valores iniciales de X1 y X2.
Verificando que f(X1)*f(X2)<0

PASO 2. Determinamos la aproximacin de la raz mediante


Xr= (X1 + X2) / 2
PASO 3. Evaluamos:
Si f(X1) *f(X2) < 0 entonces la raz se encuentra dentro del subintervalo interior
Por lo tanto X2 = Xr
Volvemos al PASO 2.
Si f(X1) *f(X2) > 2 entonces la raz se encuentra dentro del subintervalo superior
Por lo tanto X1 = Xr
Volvemos al PASO 2.
Si f(X1) *f(X2) = 0 o < 1%
Terminamos.

PSEUDOCODIGO

INICIO

Solicitamos X1, X2, error

Si f(X1) * f(X2) >0

Entonces No hay raz en el Intervalo

Volvemos a Solicitar X1 y X2
Si No Xr = (X1 * X2 ) / 2

fX1

f(X1)

fX2

f(X2)

m = fX1 * fX2

Si (m>0) entonces Xr = X1

Si (m<0) entonces Xr = X2

Evaluamos el error en ambos casos


Si error > 10% se repite el ciclo

Si error < 10% Fin

Imprimir Resultado de la raz

FIN

Glosario de trminos:
Esboz: Primer diseo o proyecto de una obra artstica, hecho de manera provisional, con los elementos esenciales y sin dar ningn
detalle
Teologa: estudio, razonamiento', significando 'el estudio de Dios' y, por ende, el estudio de las cosas o hechos relacionados con
Dios) es el estudio y conjunto de conocimientos acerca de la divinidad
Prlogo: es el texto o parte situado al principio de una obra, entre los documentos llamados preliminares
Suscitado: Provocar o causar una cosa, especialmente sentimientos de duda, curiosidad o inters o acciones que implican agitacin
u oposicin, como comentarios, polmicas o discusiones
Praga: es la capital de la Repblica Checa, tal y como recoge la Constitucin del pas
Bohemio: De Bohemia (regin de la Repblica Checa).
Idealismo: El idealismo es la familia de teoras filosficas que afirman la primicia de las ideas o incluso su existencia independiente
Predileccin: preferencia o estimacin especial que se tiene por alguien o algo
Especulativos: Se aplica a la persona que piensa sobre ideas que no tienen una base real
Rigurosa: Que cumple o hace cumplir las normas con excesiva exactitud
Docencia: es una actividad realizada conjuntamente mediante la interaccin de 4 elementos: uno o varios profesores o docentes o
facilitadores, uno o varios alumnos o discentes, el objeto de conocimiento
Reivindicar: Reclamar, solicitar o pedir una cosa que no se tiene y a la que se tiene derecho
Autoritarios: Que se apoya exclusivamente en la autoridad
Instituir: Fundar o establecer una cosa que no exista, especialmente algo de inters pblico
Baluarte: amparo y defensa de algo o alguien