Your SlideShare is downloading. ×
0
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Apunfun2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Apunfun2

10,536

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
10,536
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ARGUMENTOS POR OMISION<br />CUANDO UNA FUNCION TIENE UN CIERTO NUMERO DE PARAMETROS, NORMALMENTE EL MISMO NUMERO DE ARGUMENTOS DEBEN INDICARSE CUANDO SE LLAMA A LA FUNCION.<br />EN C++, SIN EMBARGO, ES POSIBLE OMITIR ALGUN ARGUMENTO.<br />CUANDO SE OMITE EL ARGUMENTO DE UN PARAMETRO QUE ES UN ARGUMENTO POR DEFECTO, SE UTILIZA AUTOMATICAMENTE ESTE.<br />
  • 2. EJEMPLO DE PARAMETROS POR OMISION<br />#include <iostream.h><br />usingnamespacestd;<br />void f(int a=10, int b=20,int c=30)<br /> {<br />cout<<"a="<<a<<endl;<br />cout<<"b="<<b<<endl;<br />cout<<"c="<<c<<endl;<br /> }<br />voidmain (void)<br /> {<br />system(‘cls’);<br /> f();<br /> f(1);<br /> f(1,5);<br /> f(1,2,3);<br />cout<<"pulse enter para continuar";<br />system(‘pause’);<br />}<br />
  • 3. REGLAS DE ARGUMENTOS POR DEFECTO<br />LOS ARGUMENTOS POR DEFECTO SE PASAN POR VALOR NO POR REFERENCIA.<br />DESPUES DEL PRIMER VALOR POR DEFECTO TODOS OS ARGUMENTOS POSTERIORES DEBEN INCLUIR TAMBIEN VALORES POR DEFECTO.<br />LOS VALORES DE LOS ARGUMENTOS POR DEFECTO, PUDEN SER VALORES, LITERALES O DEFINICIONES CONST, NO PUEDEN SER VARIABLES.<br />
  • 4. PARAMETROS CONST DE UNA FUNCION<br />CON EL OBJETO DE AÑADIR SEGURIDAD ADICIONAL A LAS FUNCIONES, SE PUEDEN AÑADIR A UNA DESCRIPCION DE UN PARAMETRO EL ESPECIFICADOR CONST, QUE INDICA AL COMPILADOR QUE SOLO ES DE LECTURA EN EL INTERIOR DE LA FUNCION, SI SE INTENTA ESCRIBIR EN ESTE PARAMETRO SE PRODUCIRA UN MENSAJE DE ERROR DE COMPILACION<br />
  • 5. EJEMPLO FUNCIONES CONST<br />#include <iostream.h><br />usingnamespacestd;<br />void tratar(constint []);<br />main()<br />{<br />system(‘cls’);<br />int a[]={10,20,30};<br /> tratar (a);<br />cout<<"n";cout<<a[0]<<a[1]<<a[2];<br />system(‘pause’);<br />return 0;<br />}<br />void tratar (constint b[])<br />{<br /> b[0] /=2;<br /> b[1] /=2;<br /> b[2] /=2;<br />}<br />
  • 6. Funciones en linea (in line)<br />Las funciones en línea sirven para aumentar la velocidad de su programa<br />Las funciones en línea es una petición al compilador para que genere código en línea.<br />No generara código en línea, si existe un bucle, un switch o un goto<br />
  • 7. Ejemplo de funciones en linea<br />#include <iostream.h><br />usingnamespacestd;<br />inlinefloat suma(float, float);<br />floata,b;<br />main()<br />{<br />system(‘cls’);<br />cout<<"dame el primer numero";<br />cin>>a;<br />cout<<"dame el segundo numero";<br />cin>>b;<br />cout<<"el resultado es"<<suma(a,b);<br />system(‘pause’);<br />return 0;<br />}<br />inlinefloat suma (floatd,float e)<br />{<br />returnd+e;<br /> }<br />
  • 8. AMBITO (ALCANCE)<br />SE DIVIDE EN AMBITO DE PROGRAMA<br />AMBITO DE ARCHIVO FUENTE DECLARADA POR LA PALABRA STATIC.<br />AMBITO DE FUNCION<br />AMBITO DE BLOQUE<br />
  • 9. VARIABLES LOCALES Y VARIABLES GLOBALES<br />SE LE LLAMA VARIABLES GLOBALES A LAS QUE SE DECLARN FUERA DEL AMBITO DE PROGRAMA.<br />SE LE LLAMA VARIABLES LOCALES A AQUELLAS QUE SE DECLARAN DENTRO DEL AMBITO DE PROGRAMA.<br />
  • 10. CLASES DE ALMACENAMIENTO<br />• El alcance de una variable se refiere<br />a la región del texto fuente en C en<br />el que la declaración de una variable<br />es activa.<br />• La duración de una variable se<br />refiere a la gestión temporal del<br />almacenamiento en memoria de una<br />variable.<br />• El alcance y duración de una<br />variable quedan determinados por la<br />clase de almacenamiento.<br />·C dispone de cuatro especificadores<br />de clases de almacenamiento (auto,<br />static, extern y register) y dos<br />modificadores de clases de<br />almacenamiento (const y volatile <br />
  • 11. CLASES DE ALMACENAMIENTO<br />Variables automáticas y estáticas<br />Variable automática:<br /> su almacenamiento en memoria se asigna automáticamente según su alcance. Cuando termina su alcance el compilador libera esa posición de memoria perdiéndose su valor. Si se reingresa al alcance de la variable se asigna una nueva dirección.<br />Variable fija o estática:<br /> tiene asignada una posición de memoria desde el inicio de ejecución del programa hasta el final del mismo. Esto significa que una variable estática conserva su valor cuando se vuelve a llamar a la función que la contiene.<br />
  • 12. Ejemplo clase auto y static<br />#include <iostream.h><br />usingnamespacestd;<br />void incremento(void)<br />{<br /> auto int j=1;<br />staticint k=1;<br />j++;<br /> k++;<br />cout<<"n";<br />cout<< k;cout<<"n";cout<< j;cout<<"n"; <br />}<br />intmain( void )<br />{<br />system(‘cls’);<br /> incremento();<br /> incremento();<br /> incremento();<br />system(‘pause’);<br />}<br />
  • 13. Ejemplo clase extern<br />#include <iostream.h><br />usingnamespacestd;<br />void leer(void);<br />float f;<br />intmain()<br />{<br />system(‘cls’);<br /> leer();<br />cout<<"valor de float="<<f;<br />system(‘pause’);<br />return 0;<br /> }<br />void leer(void)<br /> {<br />externfloat f;<br />cout<<"introduzca un valor en flotante";<br />cin >>f;<br />system(‘pause’);<br /> }<br />
  • 14. Ejemplo clase registro<br />#include <iostream.h><br />usingnamespacestd;<br />voidusoregistro(void)<br />{<br />registerint k;<br />cout<<"contar con la variable registro";<br />for (k=1;k<=100;k++)<br />cout<<"n"<<k;<br />}<br />main()<br />{ <br />voidusoregistro(void);<br />system(‘cls’);<br />usoregistro();<br />system(‘pause’);<br />return 0;<br /> }<br />
  • 15. USO DE FUNCIONES DE BIBLIOTECA<br />FUNCIONES DE CARÁCTER<br />FUNCIONES DE PRUEBA DE CARACTERES ESPECIALES<br />FUNCIONES DE CONVERSION DE CARACTERES<br />FUNCIONES MATEMATICAS<br />FUNCIONES NUMERICAS<br />FUNCIONES TRIGONOMETRICAS<br />FUNCIONES LOGARITMICAS Y EXPONENCIALES<br />FUNCIONES ALEATORIAS<br />FUNCIONES DE FECHA Y HORA<br />FUNCIONES DE UTILIDAD<br />
  • 16. VARIABLES GLOBALES Y LOCALES<br />Variables automáticas y estáticas<br />Las variables locales son automáticas por defecto. Se puede usar la palabra reservada auto para hacer automática una variable.<br />Para hacer una variable estática se usa la palabra reservada static.<br />• Las variables automáticas cuando se declaran e inicializan son reinicializadas cada vez que se ingresa a su bloque de alcance. Las variables estáticas se inicializan sólo una vez (por defecto valor 0).<br />

×