Trabajo de Investigación
Trabajo de Investigación
Trabajo de Investigación
h>include
<math.h>#include<conio
.h>main()
TRABAJO DE INVESTIGACIN
{}intprintfscanfreturn0;f
UNIDAD IV Y V
oatifvoidmainelsenumswi
chbreakcasecharforwhile
a+
+putcharcont#include<st
dio.h>include<math.h>#i
nclude<conio.h>main()
{}intprintfscanfreturn0;f
oatifvoidmainelsenumswi
chbreakcasecharforwhile
a+
+putcharcont#include<st
Kayra Gonzlez
TRABAJO DE INVESTIGACIN
UNIDAD IV Y V
MODULARIDAD Y USO DE BIBLIOTECAS DEL LENGUAJE
FECHA DE ENTREGA
25/11/14
PROGRAMACIN
M.S.I ARMANDO BECERRA DEL NGEL
INDICE
1
UNIDAD IV
MODULARIDAD
TEMA
PGINA
Introduccin
..
4.1 OPTIMIZACIN DE CDIGO
4
..
5
9
11
16
UNIDAD V
USO DE BIBLIOTECAS DE LENGUAJE
TEMA
PGINA
Introduccin
20
..
21
24
26
Bibliografa
..
.
30
UNIDAD IV
MODULARIDAD
INTRODUCCIN
TEMA
4.1
OPTIMIZACIN DE UN CDIGO
Tiempo
de
ejecucin
(optimizacin
temporal)
Espacio de memoria utilizado
(optimizacin espacial)
Dentro
de
su
funcionamiento
podemos encontrar:
Optimizacin independiente:
Las optimizaciones locales se realizan sobre el bloque Bsico el cual es un
fragmento de cdigo que tiene una nica entrada y salida, cuyas instrucciones
se ejecutan secuencialmente.
Optimizaciones locales:
Folding: El ensamblamiento es remplazar las expresiones por su resultado
cuando se pueden evaluar en tiempo de compilacin (resultado constante). Ej.
A=2+3+A+C -> A=5+A+C
Propagacin de constantes: Desde que se asigna a una variable un valor
constante hasta la siguiente asignacin, se considera a la variable equivalente
a la constante. Ej PI=3.14 -> PI=3.14 -> PI=3.14
Reduccin de potencia: Se busca sustituir operaciones costosas por otras
ms simples. Ej a=2*a
a=a+a
Reduccin de subexpresiones comunes: Las subexpresiones que
aparecen ms de una vez se calculan una sola vez y se reutiliza el resultado.
Ej. X=C+3+A+5 -> X= 3+5+A+C
Optimizacin dentro de bucles:
7
TEMA
4.2
10
4.3
13
14
TEMA
PASO
4.4
DE
ARGUMENTOS
17
Los argumentos son siempre objetos. Sus tipos pueden ser: escalares;
estructuras; uniones, o enumeraciones; clases definidas por el usuario;
punteros o referencias a estructuras y uniones, o punteros a funciones, a clases
o a matrices. El tipo void est permitido como nico parmetro formal. Significa
que la funcin no recibe ningn argumento. Todos los parmetros de una
funcin tienen mbito del bloque de la propia funcin y la misma duracin
automtica que la funcin.
Argumento por defecto: C++ permite tener valores por defecto para los
parmetros. Esto supone que, si no se pasa el parmetro correspondiente, se
asume un valor predefinido.
Un argumento
por defecto no
puede ser repetido o cambiado en una siguiente declaracin dentro del mismo
mbito. Por ejemplo:
18
La gramtica de C++ exige que los parmetros con valores por defecto deben
ser los ltimos en la lista de parmetros, y que si en una ocasin falta algn
argumento, los que le siguen tambin deben faltar (adoptar tambin los
valores por defecto). Los argumentos por defecto de mtodos (funcionesmiembro de clases) no pueden ser otros miembros a no ser que sean estticos.
Los argumentos por defecto no pueden ser otros argumentos:
19
ser
valores
20
UNIDAD V
USO DE BIBLIOTECAS DEL LENGUAJE
21
INTRODUCCIN
22
Biblioteca
Grfica
Biblioteca
De Nmeros
Aleatorios.
5.1
Biblioteca
Definida por
el
Programador
Biblioteca
Matemtica
TEMA
BIBLIOTECA MATEMTICA
<math.h>
La
librera
math.h es
un
archivo
de
cabecera
de
la biblioteca
estndar del lenguaje de programacin Cesta diseado para operaciones
matemticas bsicas. Muchas de sus funciones incluyen el uso de nmeros
en coma flotante. C++tambin implementa estas funciones por razones de
compatibilidad y las declara en la cabecera math.
Debe incluir la directiva de pre procesamiento #include <math.h>, adems de
recordar de ligar la biblioteca de matemticas al compilar:
gcc progmat.c -o progmat lm
Un
error
comn
es
el
olvidar
incluir
el
archivo <math.h>.
Una nota importante: si se est programando en C/C++ bajo Linux, y se utiliza
uno de los compiladores nativos de este sistema operativo (gcc o g++), es
necesario incluir, al compilar, la opcin -lm, dado que, de lo contrario, el
compilador generar un error. Por ejemplo, si tenemos un fichero fuente con
funciones de la biblioteca matemtica, llamado mi_fich_fuente_math.c, para
compilarlo ser necesario dar la orden siguiente en la consola de comandos de
Linux:
$
gcc
mi_fich_fuente_math.c
-lm
-o
<nombre_del_ejecutable>
Esto, asimismo, no es necesario si se programa en C/C++ bajo Windows
utilizando la herramienta grfica MS Visual C++.
23
Todas las funciones en las que participan ngulos toman y devuelven radianes.
Funciones matemtica
Se muestra a continuacin una lista de funciones matemticas. Son fciles de
usar y algunas de ellas han sido ya usadas previamente.
Nombre
acos
Descripcin
Arco coseno
Nombre
exp(double x)
asin
atan
Arco seno
Arco tangente
abs
floor
atan2
Arco tangente de
dos parmetros
fmod
ceil
Menor entero no
menor que el
parmetro
Coseno
frexp
cos
cosh
log10
modf
pow(x,y)
sin
Coseno hiperblico
Logaritmo en base
10
Obtiene un valor en
punto flotante
ntegro y en partes
Eleva un valor dado
a un exponente, xy
Seno
ldexp
Descripcin
Funcin exponencia
l, computa ex
Valor absoluto
Mayor entero no
mayor que el
parmetro
Residuo de la
divisin de
flotantes
Fracciona y eleva al
cuadrado.
log
sinh
Tamao del
exponente de un
valor en punto
flotante
Logaritmo natural
Seno hiperblico
sqrt
Raz cuadrada
tan
Tangente
tanh
Tangente
hiperblica
Constantes matemticas
La biblioteca de matemticas define varias constantes (por lo general
desechadas). Siempre es aconsejable usar estas definiciones.
M_E La base de los logaritmos naturales e.
M_LOG2E El logaritmo de e de base 2.
M_LOG10E El logaritmo de e de base 10.
24
abort
abs
atexit
atof
atoi
atol
bsearch
calloc
div
exit
free
getenv
labs
ldiv
malloc
mblen
mbstowcs
mbtowc
qsort
rand
Realloc
srand
strtod
strtol
strtoul
system
wctomb
Funcin system ( );
Ejecuta un comando del sistema o un programa externo almacenado en disco.
Esta funcin nos ser muy til para detener el programa antes de que termine.
Si compilas los ejemplos, ejercicios o tus propios programas usando un
compilador de Windows para consola, como Dev-C++, habrs notado que la
consola se cierra cuando el programa termina, antes de que puedas ver los
resultados del programa, para evitar eso podemos aadir una llamada a la
funcin system para ejecutar el comando del sistema "pause", que detiene la
ejecucin hasta que se pulse una tecla.
Funcin abs( );
Devuelve el valor absoluto de un entero.
Sintaxis: int abs(int x);
27
ABS devuelve el valor absoluto del valor entero de entrada, x. Si se llama a abs
cuando se ha incluido la biblioteca "stdlib.h", se la trata como una macro que
se expandir. Si se quiere usar la funcin abs en lugar de su macro, hay que
incluir la lnea:
#undef abs
en el programa, despus de la lnea:
#include <stdlib.h>
Esta funcin puede usarse con "bcd" y con "complejos".
Valor de retorno: Esta funcin devuelve un valor entre 0 y el INT_MAX, salvo
que el valor de entrada sea INT_MIN, en cuyo caso devolver INT_MAX. Los
valores de INT_MAX e INT_MIN estn definidos en el fichero de cabecera
"limit.h".
Funcin rand();
Generador de nmeros aleatorios.
Sintaxis: int rand(void);
La funcin rand devuelve un nmero aleatorio entre 0 y RAND MAX. La
constante RAND_MAX est definida en stdlib.h.
Valor de retorno: Rand devuelve un nmero entre 0 y RAND MAX.
Funcin srand()
Inicializa el generador de nmeros aleatorios.
Sintaxis: void srand(unsigned semilla);
La funcin srand sirve para cambiar el origen del generador de nmeros
aleatorios.
Valor de retorno: srand no devuelve ningn valor.
TEMA
5.3
BIBLIOTECA GRFICA
EJEMPLO
#include <stdio.h> /* el header genrico de la biblioteca */
#include <g2.h> /* el header especfico para manipular
ventanas de X11 */
#include <g2_X11.h>
int main()
{
int d; /* para identificar el dispositivo */
d = g2_open_X11(100,100); /* abre una ventana de 100 x
100, referenciada por d */
g2_line(d, 10, 10, 90, 90); /* dibuja una linea desde (10,10)
hasta (90,90) */
getchar(); /* espera antes de cerrar la ventana */
Sin embargo C ++ proporciona una biblioteca de funciones graficas (GRAFHISCS.H) como
suplemento a las bibliotecas de los modelos de memoria estndar, incorporado bibliotecas que son
especificas del modelo de memoria. Al utilizar el entorno de desarrollo integrado de c++.se produce
la carga automtica del modelo de memoria adecuado, que con incide con el modelo de memoria
seleccionado (consulte el men que se abre abajo optians/copiler/Medel). La biblioteca grfica, sin
embargo, est separada y no queda incluida automticamente en tiempo de compilacin. Por este
motivo existen otras dos opciones de utilizacin de las funciones graficas con c++; la utilizacin de
los archivos .prj o la incorporacin de GRAFHICS.LIB e una o ms de la biblioteca estndar.
Recuerde que el archivo de cabecera para grficos debe ser referido en cada uno de los cdigos
fuentes antes de utilizar cualquier funcin grfica. En ese caso. La lnea fuente
#include<graphics.h> debera aprender en todo los mdulos del cdigo. Adems, las funciones
graficas no funcionara si se utiliza el modelo de memoria TINY, dada su limitacin de memoria. Los
modelos con ms memoria dejan mayor Cantidad de esta para los programas del usuario
29
TEMA
5.4
Las funciones que se han utilizado hasta ahora son funciones que el lenguaje
de programacin ha predefinido en sus bibliotecas o libreras. Sin embargo,
tambin es posible que el programador defina y utilice sus propias funciones.
Las funciones definidas por el programador se escriben fuera de la funcin
main. Si se recuerda, uno de los objetivos del uso de las funciones es la
30
31
BIBLIOGRAFA:
http://www.alegsa.com.ar/Dic/particion.php#sthash.o0gh9SWu.dpuf
http://www.cvc.uab.es/shared/teach/a25002/Optimizacion%20de%20codigo.pdf
http://www.giaa.inf.uc3m.es/docencia/II/PL1/optimizacion05-06.pdf
http://miguedt.blogspot.mx/2013/01/descomposicion-funcional.html
http://image.slidesharecdn.com/topdown-120611165715-phpapp01/95/topdown-2-728.jpg?cb=1339460332
http://www.mailxmail.com/curso-informatica-ordenador-cientificodesarrollo/diseno-top-down
http://informatica-contenidos.blogspot.mx/2010/04/53.html
http://ocw.upm.es/ciencia-de-la-computacion-e-inteligenciaartificial/fundamentosprogramacion/contenidosteoricos/ocwfundamentosprogramaciontema7.pdf
http://es.wikipedia.org/wiki/Argumento_%28inform%C3%A1tica
%29#Paso_de_argumentos
http://www.ecured.cu/index.php/Par%C3%A1metros_y_argumentos_
%28programaci%C3%B3n%29
http://bibliotecas-del-lenguaje.wikispaces.com/Bibloteca+matematica
http://bibliotecas-dellenguaje.wikispaces.com/uso+de+las+bibliotecas+de+lenguaje
http://www.buenastareas.com/ensayos/Uso-De-Bibliotecas-DeLenguaje/3267776.html#
http://bibliotecas-dellenguaje.wikispaces.com/biblioteca+de+numero+aleatorio
http://bibliotecas-del-lenguaje.wikispaces.com/biblioteca+%3Cgrafica%3E
http://www.buenastareas.com/ensayos/Biblioteca-Definida-Por-Elrogramador/3500579.html#
33