Está en la página 1de 54

INSTITUTO TECNOLOGICO DE TAPACHULA

PROGRAMA EDUCATIVO
Ing. en Sistemas Computacionales
MATERIA
Fundamentos de Programacin
DOCENTE
Rosel Muoz Lpez
ESTUDIANTES:
Ortiz Morales Reynaldo Daniel
De la Cruz de los Reyes Aurelio

TAPACHULA, CHIAPAS

12 DE ENERO DEL 2015


1

INDICE

INTRODUCCION................................................................................................... 2
2.1 Anlisis de problemas..................................................................................... 5
2.2 Representacin de algoritmos: grfica y pseudocdigo....................................7
2.3 Diseo de algoritmos aplicados a problemas..................................................50
2.4 Diseo algoritmo de funciones......................................................................52
CONCLUSION.................................................................................................... 54
BIBLIOGRAFIA................................................................................................... 55

INTRODUCCION
2

En el siguiente trabajo pretendemos presentar una serie de concepto y


definiciones propios del estudio de los Algoritmos, su anlisis y diseo.
En el mismo podremos encontrar los conceptos de algoritmo y algunos de sus
componentes, anlisis y diseo. Tambin veremos los diferentes tipos de
formas y tamaos o medidas en que se pueden almacenar y representar los
datos y estructuras en un algoritmo o programa. En ese mismo orden
encontraremos las diferentes tcnicas para disearlos como son el mtodo de
la fuerza bruta, el
voraz, divide y vencers, programacin dinmica, de vuelta atrs, entre otros.
De igual forma podremos ver las definiciones y algunas caractersticas, reglas,
normas, tipos de algoritmos de bsqueda y ordenacin as como sus
aplicaciones.
Finalmente veremos los que es la verificacin y derivacin de programas,
donde daremos los conceptos bsicos de semntica y sus tipos haciendo
mayor nfasis en la semntica axiomtica, la recursividad e iteracin, los
diseos de estos ltimos, as como los tpicos ciclos utilizados en algoritmos y
programas y los paso a tener en cuenta al momento de desarrollar un
algoritmo iterativo o recursivo.

Unidad
2
Algoritmos

2.1 Anlisis de problemas


Cuando un usuario plantea un programador, un problema que resuelve mediante
su ordenador, por lo general ese usuario tendr conocimientos de informtica. Al
abordar un problema que se quiere resolver mediante un ordenador, el
programador necesita de experiencia del experto del dominio para entender el
problema. El anlisis de problema tiene las siguientes especificaciones

Entrada
Proceso
Salida
La funcin del anlisis
La parte esencial del anlisis de la planeacin y diseo la constituye el anlisis de
los sistemas hipotticos, desde el punto de vista de los objetivos, de las
proposiciones, y de las condiciones limitativas.

La funcin del anlisis es deducir todas las consecuencias, a fin de seleccionar un


camino ptimo. Luego se deben comparar estas consecuencias con los objetivos
iniciales.

Herramientas para el anlisis


Despus de decidir cuales datos se deben analizar, es preciso analizar un
conjunto adecuado de herramientas. Para ser u buen ingeniero en sistemas, se
necesita conocer mayor nmero de herramientas de las que normalmente estn
asociadas con las ramas existentes de la ciencia de la ingeniera. Esto no quiere
decir que necesite ser un experto manipulador de todas las herramientas, pero si
es necesario algn conocimiento para realizar lo siguiente:

Seleccionar la herramienta correcta para un anlisis dado.


Reconocer el momento en que deba retroceder un poco para adquirir mayores
facilidades con determinada herramientaConsultar con los expertos, y estar en capacidad de entenderse en el mismo
lenguaje.
Conocer los lmites de utilizacin de determinada herramienta.
5

Conocer el momento en que se debe detener el anlisis y dar una decisin.

EJEMPLOS DEL PROFESOR

ANALIZAR: La suma de 2 nmeros 8+10.


ENTRADAS: 10 Y 8, PROCESO: S=8+10, SALIDA: S.

ANALIZAR: La suma de dos nmeros


ENTRADAS: A, B; PROCESO: S=A+B; SALIDA: S

ANALIZAR: El rea de un circulo


ENTRADAS: r, pi; PROCESO: A=Pi*r*r; SALIDA: A

ANALIZAR: El rea de un triangulo


ENTRADAS: b, h; PROCESO: A=b*h/2; SALIDA: A

ANALIZAR: El total a pagar de un alumno a una cafetera si


se compr un refresco y dos tortas del mismo tipo.
ENTRADAS: 1, 2, PR, TR; PROCESO: TAP=1PR*2*PT; SALIDA: TAP

ANALIZAR: El total a pagar de un alumno a un cafetera si


compr tortas y refrescos del mismo tipo.
ENTRADAS: TT, PT, PR, TR; PROCESO: TAP=TR*PR+TT*PT;
SALIDA: TAP

ANALIZAR: El total a pagar de un alumno a un cafetera si


compr tortas y refrescos del mismo tipo. La cafetera ofrece
el 15% de descuento en todos sus productos.
ENTRADAS: TT, PT, PR, TR; PROCESO: TAP= (TR*PR+TT*PT)*0.85;
SALIDA: TAP

2.2 Representacin de algoritmos: grfica y


pseudocdigo
Los diagramas de flujo son una manera de representar visualmente el flujo de
datos a travs de sistemas de tratamiento de informacin. Los diagramas de flujo
describen que operaciones y en que secuencia se requieren para solucionar un
problema dado.
Un diagrama de flujo u organigrama es una representacin diagramtica que
ilustra la secuencia de las operaciones que se realizarn para conseguir la
solucin de un problema. Los diagramas de flujo se dibujan generalmente antes
de comenzar a programar el cdigo frente a la computadora. Los diagramas de
flujo facilitan la comunicacin entre los programadores y la gente del negocio.
Estos diagramas de flujo desempean un papel vital en la programacin de un
problema y facilitan la comprensin de problemas complicados y sobre todo muy
largos. Una vez que se dibuja el diagrama de flujo, llega a ser fcil escribir el
programa en cualquier idioma de alto nivel. Vemos a menudo cmo los diagramas
de flujo nos dan ventaja al momento de explicar el programa a otros. Por lo tanto,
est correcto decir que un diagrama de flujo es una necesidad para la
documentacin mejor de un programa complejo.

Reglas para dibujar un diagrama de flujo.


Los Diagramas de flujo se dibujan generalmente usando algunos smbolos
estndares; sin embargo, algunos smbolos especiales pueden tambin ser
desarrollados cuando sean requeridos. Algunos smbolos estndares, que se
requieren con frecuencia para diagramar programas de computadora se muestran
a continuacin:
Inicio o fin del programa

Pasos, procesos o lneas de instruccin de


programa de computo

Operaciones de entrada y salida

Toma de decisines y Ramificacin

Conector para unir el flujo a otra parte del


diagrama

Cinta magntica

Disco magntico

Conector de pagina

Lneas de flujo

Anotacin

Display, para mostrar datos

Enva datos a la impresora

Observacin: Para obtener la correcta elaboracin de los smbolos, existen


plantillas. Las puedes conseguir en Papeleras.

Smbolos grficos
Dentro de los smbolos fundamentales para la creacin de diagramas de flujo, los
smbolos grficos son utilizados especficamente para para operaciones
aritmticas y relaciones condicionales. La siguiente es una lista de los smbolos
ms comnmente utilizados:

Sumar

Menos

Multiplicacin

Divisin

Ms o menos

Equivalente a

>

Mayor que

<

Menor que

Mayor o igual que

Menor o igual que

o <> Diferente de
Si
No
9

True
False

Reglas para la creacin de Diagramas


-

Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de


izquierda a derecha.

Los smbolos se unen con lneas, las cuales tienen en la punta una flecha
que indica la direccin que fluye la informacin procesos, se deben de
utilizar solamente lneas de flujo horizontal o verticales (nunca diagonales).

Se debe evitar el cruce de lneas, para lo cual se quisiera separar el flujo


del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores.
Se debe tener en cuenta que solo se van a utilizar conectores cuando sea
estrictamente necesario.

No deben quedar lneas de flujo sin conectar

Todo texto escrito dentro de un smbolo debe ser legible, preciso, evitando
el uso de muchas palabras.

Todos los smbolos pueden tener ms de una lnea de entrada, a excepcin


del smbolo final.

Solo los smbolos de decisin pueden y deben tener ms de una lnea de


flujo de salida.

SECUENCIALES
EJEMPLOS DEL PROFESOR
1.-REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMPRIMA LA SUMA DOS
NUMEROS (8+10)

10

INICIO

A=10, B=8, S=0

S=A+B

La Suma es S

INICIO
FIN

A=0, B=0, S=0

A, B

S=A+B

2.- REALIZAR DIAGRAMA DE FLUJO QUE REALICE LA SUMA DE DOS


NUMEROS
La Suma es
S

11
FIN

INICIO

A=0, r=0, Pi=3.1416

3.- REALIZAR DIAGRAMA DE FLUJO QUE CALCULE EL AREA DE UN


CIRCULO.
A=Pi*r*r

El rea del circulo es A


12
FIN

INICIO

A=0, h=0, b=0

b, h

4.- REALIZAR DIAGRAMA DE FLUJO QUE CALCULE EL AREA DE UN


TRANGULO RECTANGULO.
A=b*h/2

El rea del tringulo rectngulo es A


13
FIN

INICIO

TAP=0, PT=0, PR=0

PT, PR

5.- REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMPRIMA EL TOTAL A


PAGAR DE UN ALUMNO A UNA CAFETERIA SI EN ELLA COMPRO UN
TAP=1*PR+2*PT
REFRESCO Y DOS TORTAS,
ESTAS ULTIMAS DEL MISMO TIPO.

El total a pagar es TAP

14
FIN

INICIO

6.- REALIZAR DIAGRAMA


DEPT=0,
FUJOPR=0,
QUE TT=0,
CALCULE
TAP=0,
TR=0E IMPRIMA EL TOTAL A
PAGAR POR UN ALUMNO A UNA CAFETERIA SI COMPRO EN ELLA TORTAS Y
REFRESCOS DEL MISMO TIPO RESPECTIVAMENTE.
TP, PR, TT, PT

TAP=TR*PR+TT*PT

El total a pagar es TAP

15
FIN

INICIO

TAP=0 , PT=0, PR=0, TT=0, TR=0

TP, PR, TT, PT

7.- REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMPRIMA EL TOTAL A PAGAR


TAP=TR*PR+TT*PT
POR UN ALUMOS SI EN ELLA COMPRO TORTAS Y REFRESCOS DEL MISMO TIPOS
RESPECTIVAMENTE
NOTA: POR SER EL DIA DEL ESTUDIANTE LA CAFETERIA OFRECE EL 15% DE
DESCUENTO EN TODOS SUS PRODUCTOS.
Des=TAP*0.15

TAP=TAP-Des

El total a pagar es TAP

16
FIN

INICIO

TAP=0, PT=0, PR=0, TT=0, TR=0


8.- REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMPRIMA EL TOTAL A PAGAR
POR UN ALUMOS SI EN ELLA COMPRO TORTAS Y REFRESCOS DEL MISMO TIPOS
RESPECTIVAMENTE
NOTA: LA CAFETERIA TIENE LA PROMOCION
ENPT
LA COMPRA DE 100 PESOS EN
TP, PR, TT,
ADELANTE DAR EL 10% DE DESCUENTO.

TAP= (TR*PR+TT*PT)*0.85

El total a pagar es TAP

17
FIN

INICIO

FIN

SELECTIVOS
EJEMPLOS DEL PROFESOR

1.- REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMPRIMA EL TOTAL A PAGAR


POR UN ALUMOS SI EN
ELLA
COMPRO
Y REFRESCOS DEL MISMO TIPOS
TT=0
PT=0,
PT=0,TORTAS
PR=0, TAP=0
RESPECTIVAMENTE
NOTA: LA CAFETERIA TIENE LA PROMOCION EN LA COMPRA DE 100 PESOS EN
ADELANTE DAR EL 10% DE DESCUENTO.
TT, PT, TR, PR

TAP=TT*PT+TR*PR

TAP>=100
TAP=TAP*0.90

18
"El total a pagar es TAP

TAP=TLL*800

INICIO

FIN
2.- REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMPRIMA EL TOTAL A PAGAR
TLL=0, TAP=0
EN UNA DISTRIBUIDORA DE LLANTAS SI ESTA EN LA COMPRA DE 5 LLANTAS O
MAS TIENE UN VALOR DE 700 PESOS CADA LLANTA DE LO CONTRARIO 800.

TLL

TAP=TLL*PLL

TAP>=5

TAP=TLL*700

19
"El total a pagar es TAP

FIN

INICIO

TP=0 PP=0, TC=0, PC=0, TAP=0

TP, PP, TC, PC


3.- REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMPRIMA EL TOTAL A
PAGARPOR UN CLIENTE A UNA TIENDA DE ROPA SI EN ELLA COMPRO
PANTALONES Y CAMISAS DEL MISMO TIPO RESPECTIVAMENTE
TAP=TP*PP+TC*PC
NOTA: LA TIENDA DE ROPA OFRECE LOS SIGUIENTES DESCUENTOS SI EL
TOTAL A PAGAR ES MAYOR A 1000 PESOS PERO MENOS QUE 5000, 10% DE
DESCUENTO; Y SI EL TOTAL A PAGAR ES MAYOR O IGUAL A 5000, 15% DE
DESCUENTO.
TAP>=1000 y TAP<=5000

TAP=TAP*0.90

TAP<=5000
TAP=TAP*0.85

20
"El total a pagar es TAP

TAP=TAP*0.90
EL TOTAL A PAGAR ES TAP

TAP=TAP*0.95

TAP>10,000&<15,000
4.-) realizar diagrama
de flujo y programa que calcule e imprima el total a apagar
por un cliente a una tienda de ropa si en ella compro pantalones y camisas del
mismo tipo:

NOTA: La tienda ofrece los siguientes descuento si el total a pagar es mayor igual
a 1000 5% si el total a pagar es 1000 pero menor que 5000
pero menor que 10000
TAP>1000&<5000
10% si el total a pagar es mayor igual a 5000 20% de descuento.

21

FIN

5.-Realizar diagrama de flujo que calcule e imprima el total a pagar aun

tienda de ropa si compro pantalones y camisas del mismo tipo.

V
V

22

V
V

EL TOTAL A PAGAR ES TAP


INICIO

A=0,B=0

A,B

6.- Realizar diagrama de flujo que calcule e imprima el mayor de dos nmeros
A>B

MAYOR
A

V
B>A

MAYOR
B

23
FIN

MAYOR
A

MAYOR
C

MAYOR
B

7.-Realizar diagrama de flujo que calcule e imprima el mayor de 3 nmeros

MAYOR
C

V
F

24

FIN

INICIO

A=0,B=0,C=0,

A,B,C

A>B Y A>C
8.- Realizar diagrama de flujo que calcule e imprima el valor de 3 nmeros

utilizando (operando Y)

EL MAYOR ES A

B>A Y B>C

EL MAYOR ES B

C>A Y C>D

EL MAYOR ES C

25
FIN

INICIO

A=0,B=0,C=0,

A, B, C

A>B, A>C, A>D

MAYOR
A

9.- Realizar diagrama de flujo que calcule e imprima el valor de 4 nmeros


B>A,
utilizando (operando
Y).B>C, B<D
MAYOR
B

C>A, C>B,C>D
MAYOR
C

D>A, D>B,D>C
MAYOR
D
26
FIN

MAYOR B

MAYOR C

10-. Realizar diagrama de flujo que calcule e imprima el total de 5 nmeros

Utilizando (operando Y)

MAYOR D

MAYOR E
27
MAYOR A

M=A

EL TOTAL ES M

C>M

M=C

FIN

11.-Realizar diagrama de flujo que


calcule
imprima el mayor de 3 nmeros
E>A, E>B,
E>C,eE>D

(Parmetro)

C>A, C>B, C>D, C>E

FIN

28

M=C

D>M
12.- Realizar diagrama de flujo que calcule e imprima el mayor de 4 nmeros

(Parmetro)

MAYORM

FIN

29

D>M
M=D

13.- Realizar diagrama de flujo que calcule e imprima el mayor de 5 nmeros


E>M

(Parmetro)

FIN

30

INICIO

TN=0, X=0, C=0, S=0

REPETITIVOS
TN
EJEMPLOS
DEL PROFESOR
REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMPRIMA LA SUMA DE N
NUMEROS
X

C=C+1

S=S+X

C<TN

La suma es S
31
FIN

INICIO

TN=0, X=0, C=0, S=0


REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMRIMA LA SUMA DE N
NUMEROS
TN

C=C+1

S=S+X

C<=TN

La suma es S
32
FIN

INICIO

TN=0, X=0, C=0, S=0


REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMRIMA LA SUMA DE N
NUMEROS
TN

C=C+1

S=S+X

C!=TN

La suma es S
33
FIN

REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMRIMA LA SUMA DE N


NUMEROS
INICIO

TN=0, S=0, X=0, C=0

TN

C!=TN
La suma es S
X
FIN
C=C+1
34
S=S+X

REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMRIMA LA SUMA DE N


NUMEROS
INICIO

TN=0, S=0, X=0, C=0

TN

C<TN
La suma es S
X
FIN
C=C+1
35
S=S+X

REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMRIMA LA SUMA DE N


NUMEROS
INICIO

TN=0, S=0, X=0, C=0

TN

C<=TN
La suma es S
X
FIN
C=C+1
36
S=S+X

REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMRIMA LA SUMA DE N


NUMEROS
INICIO

TN=0, S=0, X=0, C=0

TN

C=0
C<=TN
C=C+1

La suma es S

FIN
X

37
S=S+X

REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMRIMA LA SUMA DE N


NUMEROS
INICIO

TN=0, S=0, X=0, C=0

TN

C=0
C<TN
C=C+1

La suma es S

FIN
X

S=S+X38

REALIZAR DIAGRAMA DE FLUJO QUE CALCULE E IMRIMA LA SUMA DE N


NUMEROS
INICIO

TN=0, S=0, X=0, C=0

TN

C=0
C!=TN
C=C+1

La suma es S

FIN
X

S=S+X

39

Realizar diagrama de flujo que calcule e imprima la suma de 5


nmeros.

INICIO

C=0
C=1
C<=5
C=C+1
FIN

La suma es S

40

Realizar diagrama de flujo que calcule e imprima la suma de 5


nmeros.

INICIO

C=0
C=1
C<5
C=C+1
FIN

La suma es S

41

Realizar diagrama de flujo que calcule e imprima la suma de 5


nmeros.

INICIO

C=0
C=1
C !=5
C=C+1
FIN

La suma es S

42

Realizar diagrama de flujo que calcule e imprima la suma de 5


nmeros.

INICIO

C=0

C<=5
FIN
C

C=C+1

43

Realizar diagrama de flujo que calcule e imprima la suma de 5


nmeros.

INICIO

C=0

C<5
FIN
C

C=C+1

44

Realizar diagrama de flujo que calcule e imprima la suma de 5


nmeros.

INICIO

C=0

C!=5
FIN
C

C=C+1

45

Realizar diagrama de flujo que calcule e imprima la suma de 5


nmeros.

INICIO

C=1

C=C+1

C<5
FIN

46

Realizar diagrama de flujo que calcule e imprima la suma de 5


nmeros.

INICIO

C=1

C=C+1

C<=5
FIN

47

Realizar diagrama de flujo que calcule e imprima la suma


de 5 nmeros.

INICIO

C=1

C=C+1

C!=5
FIN

48

2.3 Diseo de algoritmos aplicados a problemas


Algoritmos diseo
Para llegar a la realizacin de un programa es necesario el diseo previo de
algoritmo, de modo que sin algoritmo no puede existir un programa.
Los algoritmos son independientes tanto del lenguaje de programacin en
que se expresan como de la computadora que lo ejecuta. En cada
problema el algoritmo se puede expresar en un lenguaje diferente de
programacin y ejecutarse en una computadora distinta; sin embargo, el
algoritmo ser siempre el mismo.
Dada la importancia del algoritmo en la ciencia de la computacin, un
aspecto muy importante ser el diseo de algoritmos. El diseo de la
mayora de los algoritmos requiere creatividady conocimientos profundos de
la tcnica de la programacin.
Tcnicas de diseo de algoritmos
Algoritmos voraces (greedy): seleccionan los elementos ms prometedores
del conjunto de candidatos hasta encontrar una solucin. En la mayora de
los casos la solucin no es ptima.
Algoritmos paralelos: permiten la divisin de un problema en subproblemas
de forma que se puedan ejecutar de forma simultnea en varios
procesadores.
Algoritmos probabilsticos: algunos de los pasos de este tipo de algoritmos
estn en funcin de valores pseudoaleatorios.
Algoritmos determinsticos: el comportamiento del algoritmo es lineal: cada
paso del algoritmo tiene nicamente un paso sucesor y otro antecesor.
Algoritmos no determinsticos: el comportamiento del algoritmo tiene forma
de rbol y a cada paso del algoritmo puede bifurcarse a cualquier nmero
de pasos inmediatamente posteriores, adems todas las ramas se ejecutan
simultneamente.

49

Divide y vencers: dividen el problema en subconjuntos disjuntos


obteniendo una solucin de cada uno de ellos para despus unirlas,
logrando as la solucin al problema completo.
Metaheursticas: encuentran soluciones aproximadas (no ptimas) a
problemas basndose en un conocimiento anterior (a veces llamado
experiencia) de los mismos.
Programacin dinmica: intenta resolver problemas disminuyendo su coste
computacional aumentando el coste espacial.
Ramificacin y acotacin: se basa en la construccin de las soluciones al
problema mediante un rbol implcito que se recorre de forma controlada
encontrando las mejores soluciones.
Vuelta atrs (backtracking): se construye el espacio de soluciones del
problema en un rbol que se examina completamente, almacenando las
soluciones menos costosas.
Caractersticas de algoritmo
La resolucin de un problema exige el diseo de un algoritmo que resuelva
el problema, como lo muestra la siguiente figura:

Pasos para la resolucin de un problema:


1.- Diseo del algoritmo que describe la secuencia ordenada de pasos sin
ambigedades- que conducen a la solucin de un problema dado.(Anlisis
del problema y desarrollo del algoritmo).
2.- Expresar el algoritmo como un programa en un lenguaje adecuado.
(Fase de codificacin).
3.- Ejecucin y validacin del programa por la computadora.

Caractersticas de los algoritmos


Un algoritmo debe:
Ser preciso e indicar el orden de realizacin de cada paso.
Estar definido. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.
Ser finito. Si se sigue un algoritmo, se debe terminar en algn momento; o
sea, debe tener un nmero finito de pasos.
Existen dos herramientas utilizadas conceptualmente para disear
algoritmos: los diagramas de flujo y el pseudocdigo.
50

2.4 Diseo algoritmo de funciones


Funciones algortmicas de diseo Una funcin algortmica se refiere a la
implementacin de un algoritmo y normalmente forma parte de un programa
grande. Tambin se llama una funcin algortmica como procedimiento,
rutina, mtodo o subprograma. Un algoritmo es un procedimiento detallado
paso a paso para resolver un problema, pero es independiente de cualquier
lenguaje de programacion ya que representa el concepto abstracto de la
solucin. Por lo tanto, despus de disear un algoritmo y desarrollar su
pesudocode, el siguiente paso es implementar en un lenguaje de
programacin especfico. Al disear un algoritmo que muchos factores
como tiempo, espacio y tamao esperado de entrada se consideran.
Desarrollo y anlisis de algoritmos tambin implican encontrar peor de los
casos, el mejor de los casos y situaciones de promedio, como el
rendimiento es muy importante para una aplicacin cuya entrada aumenta
con el tiempo. Una vez que haya finalizado el algoritmo, se traduce en una
funcin o un procedimiento que es especfico de un lenguaje de
programacin. Tericamente, independientemente de un lenguaje de
programacin, un algoritmo debe producir repetidamente misma salida.
Pero, esto no sucede en la realidad, ya que cada lenguaje de programacin
tiene sus propias ventajas y desventajas. Las caractersticas de un lenguaje
de programacin determinan la eficiencia de un algoritmo debido a
problemas como la incapacidad para asignar recursos en tiempo de
ejecucin o tener fugas de memoria silenciosa puede ralentizar un
programa y puede llevar a mal funcionamiento de un algoritmo
especialmente cuando aumenta la entrada. Factores que influyen en el
diseo de una funcin algortmica Si un algoritmo hace uso de dividir y
conquistar el enfoque o la programacin dinmica, el lenguaje de
programacin que se utiliza para codificar una funcin algortmica debe
tener soporte para realizar llamadas recursivas anidados. Casi todos los
lenguajes de programacin modernos tienen soporte para realizar llamadas
recursivas pero programas escritos en lenguajes antiguos como FORTRAN
no tenga soporte para realizar llamadas anidadas. En el caso de
recursividad, un lenguaje de programacin se encarga de varias
ejecuciones de una funcin de anidacin y hacer nuevas copias de las
variables en cada llamada. Para lograrlo, la mayora de lenguajes de
programacin almacenar detalles sobre las llamadas de funcin anidada en
una pila. Aunque todos los lenguajes de programacin proporcionan apoyo
51

para realizar llamadas de funcin anidada, existe una actuacin area en


almacenar y recuperar los parmetros y variables locales, en recuperar
direcciones relativas de cada llamada a una funcin anidada y en ajusta el
puntero de pila. Esta sobrecarga a su vez aumenta el tiempo de ejecucin
como el nmero de aumentos de llamadas recursivas. Al analizar y disear
una funcin algortmica, est involucrado en la fabricacin de llamadas
recursivas de gastos generales no se puede predecir, pero es mejor dejar
espacio para lenguaje de programacin factores dependientes como este.
Casi todos los lenguajes de programacin orientada a objetos producen
excepciones cuando la entrada no es vlida o cuando encuentra un error.
Sin embargo, otra alternativa, que se puede considerar al disear la funcin
algortmica es devolver un cdigo de error. Este enfoque puede ser til en
idiomas que no proporcionan ningn apoyo para el manejo de errores. Un
cdigo de error normalmente da descripcin sobre el tipo de error que se ha
encontrado una funcin. A pesar de que un algoritmo establece claramente
la esperada entrada y salida junto con los Estados intermedios, la
aplicacin real de la funcin algortmica podra variar de un lenguaje de
programacin a otro. Una funcin algortmica diseada aumenta la
legibilidad de un programa, aumenta la calidad del cdigo, reduce errores
de hard to find y ayuda a mantener grandes programas fcilmente.

52

CONCLUSION
Muy bien el reporte nos deja ms claro que hacer algoritmos es algo
de gran importancia en nuestra vida pues dependiendo de qu
problema sea nosotros tendremos la capacidad de echar a andar la
lgica.
En conclusin podramos decir que los algoritmos son herramientas
muy tiles para la programacin y para facilitar la vida del ser humano
pues muchas tiendas los utilizan para sacar rpidamente los precios
de los productos que venden.

53

BIBLIOGRAFIA
https://load2013.wordpress.com/2013/10/08/unidad-2-tema-2-2-representacion-dealgoritmos-grafica-y-pseudocodigo/
https://sites.google.com/site/teccorzo/unidad-ii/2-3-diseno-de-algoritmos-aplicadosa-problemas
http://mitecnologico.com/sistemas/Main/Dise%f1oAlgor%edtmicoDeFunciones
https://load2013.wordpress.com/2013/10/02/unidad-2-tema-2-1-analisis-deproblemas/

54

También podría gustarte