CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Material de Actividad de Aprendizaje 1 1 Entrar Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. ndice: Material Actividad de Aprendizaje 1. 1. Elementos bsicos del lenguaje C++. 1.1. Estructura de un programa en C++. 1.1.1. Tipos de datos en C++. 1.1.2. Tipos de datos numricos. 1.1.3. Tipos de datos numricos reales. 1.1.4. Tipos de datos carcter. 1.1.5. Tipos referencias. 1.2. Constantes y variables. 1.2.1. Declaraciones de variables. 1.2.2. Funciones. 1.2.3. La funcin main. 1.2.4. Funciones de la biblioteca estndar de C++. 1.2.5. Funciones definidas por el usuario. 1.3. Funciones de entrada y salida. 2 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1. Elementos bsicos del lenguaje C++. C, predecesor de C++, 1.3. Estructura de un programa en C++. La estructura de un programa en C++ est definida por los siguientes componentes. Un programa en C++ est definido por funciones (grupo de instrucciones que pueden o no hacer algn clculo), donde la funcin principal debe ser llamada main. La composicin general de un programa en C++ es: Directivas de preprocesamiento. Declaraciones globales. Funcin main. Funciones definidas por el usuario. Comentarios para entender el funcionamiento del programa. 3 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Directivas de preprocesador Las directivas de preprocesador, como #define y #ifdef, se utilizan normalmente para facilitar, cambiar los programas de origen y facilitar la creacin en diferentes entornos de ejecucin. Las directivas del archivo de cdigo fuente indican al preprocesador que realice acciones especficas. Por ejemplo, el preprocesador puede reemplazar tokens en el texto, insertar el contenido de otros archivos en el cdigo fuente o suprimir la compilacin de la parte del archivo quitando secciones de texto. Las lneas de preprocesador se reconocen y se realizan antes de expansin de macro. Por consiguiente, si una macro se expande en algo que se parece a un comando de preprocesador, el preprocesador no reconoce a ese comando. Las instrucciones de preprocesador utilizan el mismo juego de caracteres que instrucciones del archivo de cdigo fuente, con la excepcin de que las secuencias de escape no se admiten. El juego de caracteres utilizado en instrucciones de preprocesador es igual que juego de caracteres de la ejecucin. El preprocesador tambin reconoce los valores de caracteres negativos. 4 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. # define # elif # else # ifndef # error # if # ifdef # pragma # undef # using # endif # import # include # line El preprocesador reconoce las siguientes directivas: El signo de nmero (#) debe ser el primer carcter de la lnea, que no es un carcter de espacio en blanco que contiene la directiva; los caracteres de espacio en blanco pueden estar entre el signo de nmero y la primera letra de la directiva. Algunas directivas incluyen argumentos o valores. Cualquier texto que siga una directiva (excepto un argumento o un valor que forma parte de la directiva) debe ir precedido por un delimitador de comentario de una sola lnea (//) o incluido entre en delimitadores de comentario (/* */). Las lneas que contienen directivas de preprocesador se pueden continuar precediendo inmediatamente la marca de fin de lnea con una barra diagonal inversa (\). 5 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Las directivas de preprocesador pueden aparecer en cualquier parte de un archivo de cdigo fuente, pero solo se aplican al resto del archivo de cdigo fuente. La directiva #include indica al preprocesador que trate el contenido de un archivo especificado como si esos contenidos hubiesen aparecido en el programa de origen en el punto donde aparece la directiva. Se usa para incluir bibliotecas de funciones al archivo actual, se pueden incluir archivos propios o del sistema. En la medida que se avance se har claridad acerca de este tema. #include "path-spec" #include <path-spec> 6 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. La directiva #define crea una macro, que es la asociacin de un identificador o identificador de parmetros con una cadena de token. Una vez definida la macro, el compilador puede sustituir la cadena de token para cada aparicin del identificador del archivo de cdigo fuente. La funcin main () (Principal) es el punto de entrada en un programa de C++, es una funcin obligatoria y nica, solo puede existir una funcin main por proyecto de C++. Los comentarios son lneas aclaratorias no compilables, el compilador reconoce los juegos de caracteres // o /* */ Los comentarios pueden escribirse utilizando alguna de las siguientes formas: 1. Comentando en la misma lnea, utiliza //, ejemplo int edad; // la edad se utilizar como un valor entero. 2. Comentando entre varias lneas, utiliza /* */, Ejemplo: /* La siguiente funcin promedio recibe tres valores enteros y calcula y regresa el promedio de los tres a travs de un valor real */ 7 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1.3.1.Tipos de datos en C++. El concepto de tipo es muy importante en C++. Cada variable, argumento de funcin y el valor devuelto por una funcin debe tener un tipo para compilarse. Asimismo, ante de evaluar todas las expresiones (incluyendo valores literales), el compilador les da implcitamente un tipo. Algunos ejemplos de tipos incluyen int para almacenar los valores integrales, double para almacenar los valores de punto flotante (tambin conocidos como tipos de datos escalares), o la clases td::basic_string de biblioteca estndar para almacenar texto. Puede crear su propio tipo definiendo class o struct. El tipo especfica la cantidad de memoria que se asignar para la variable (o resultado de la expresin), las clases de valores que se pueden almacenar en esa variable, cmo se interpretan estos valores (como patrones de bits), as como las operaciones que se pueden realizar en ella. 8 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. A diferencia de algunos lenguajes, C++ no tiene tipo base universal del que derivan el resto de los tipos. La implementacin de Visual C++ de lenguaje incluye muchos tipos fundamentales, tambin conocidos como tipos integrados. Esto incluye los tipos numricos como int, double, long, bool, ms los tipos char y wchar_t para los caracteres ASCII y Unicode, respectivamente. La mayora de los tipos fundamentales (excepto bool, double, wchar_t y tipos relacionados) tienen versiones sin signo, que modifican el intervalo de valores que la variable puede almacenar. Por ejemplo, int, que almacena un entero de 32 bits con signo, puede representar un valor comprendido entre -2.147.483.648 y 2.147.483.647.unsigned int, que tambin se almacena como 32 bits, puede almacenar un valor comprendido entre 0 y 4.294.967.295. El nmero total de valores posibles en cada caso es igual; solo el intervalo es diferente. El compilador reconoce los tipos fundamentales, que tiene reglas integradas que rigen las operaciones que se pueden realizar en ellos, y cmo se pueden convertir en otros tipos fundamentales. C++ no soporta un gran nmero de tipos de datos predefinidos, pero tiene la capacidad para crear sus propios tipos de datos. Todos los tipos de datos simples o bsicos de C++ son, esencialmente, nmeros. Los tres tipos de datos bsicos son: Enteros. Nmeros de coma flotante (reales). Caracteres. 9 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1.3.2.Tipos de datos numricos. Los tipos de datos numricos en C++ estn divididos en enteros y reales, y a su vez, estos tipos enteros estn divididos de acuerdo al tamao de almacenamiento que ocupa. Los tipos de datos enteros se dividen en: Tipo Char Contenido El tipo char es un tipo entero que normalmente contiene miembros de juego de caracteres de la ejecucin (en Microsoft C++, esto es ASCII). Bool El tipo bool es un tipo entero que puede tener uno de los dos valores true o false.Su tamao no est especificado. Short El tipo short int (o simplemente short) es un tipo entero que es mayor o igual que el tamao del tipo char y menor o igual que el tamao del tipo int. El compilador de C++ trata las variables de tipo char, signed char y unsigned char como si tuvieran tipos diferentes. Las variables de tipo char se promueven a int como si fueran de tipo signed char de forma predeterminada, a menos que se use la opcin de la compilacin /J. En este caso se tratan como tipo unsigned char y se promueven a int sin la extensin de signo. 10 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Tipo Contenido Los objetos de tipo short se pueden declarar como signed short o unsigned short. Signed short es un sinnimo de short. Los objetos de tipo int se pueden declarar como signed int o unsigned int.Signed int es un sinnimo de int. long El tipo long (o long int) es un tipo entero que es mayor o igual que el tamao del tipo int. Los objetos de tipo long se pueden declarar como signed long o unsigned long.Signed long es un sinnimo de long. Mayor que long sin signo. El tipo int es un tipo entero que es mayor o igual que el tamao del tipo short int y menor o igual que el tamao del tipo long. Int Long long Los objetos de tipo long long se pueden declarar como signed long long ounsigned long long. Signed long long es un sinnimo de long long. 11 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1.1.3 Tipos de datos numricos reales. Tipo Contenido El tipo float es el tipo flotante menor. El tipo long double es un tipo flotante que es igual que el tipo double. El tipo double es un tipo flotante mayor o igual que el tipo float, pero es menor o igual que el tamao del tipo long double. Double Long Double 1 Float 12 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1.1.4 Tipos de datos carcter: Los tipos de datos de carcter en C++ se dividen en carcter y cadenas. Los tipos carcter son: Tipo Contenido char El tipo char es un tipo entero que normalmente contiene miembros de juego de caracteres de la ejecucin (en Microsoft C++, esto es ASCII). Una variable de __wchar_t indica un tipo de caracteres anchos o de carcter multibyte. De forma predeterminada, wchar_t es un tipo nativo pero puede utilizar/Zc: wchar_t- para crear wchar_t una definicin para unsigned short. Utilice el prefijo L antes de un carcter o una constante de cadena para notificar la constante de tipo de caracteres anchos. __wchar_t Char 13 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1.1.5 Tipos referencias.
void (C++) Cuando se utiliza como un tipo de valor devuelto de funcin, la palabra clave void especifica que la funcin no devuelve ningn valor. Cuando se utiliza para la lista de parmetros de una funcin, void especifica que la funcin no toma ningn parmetro. Cuando se utiliza en la declaracin de un puntero, void especifica que el puntero es "universal". Si el tipo de puntero es void *, el puntero puede sealar a cualquier variable que no se declare con la palabra clave const o volatile. Un puntero void no se puede desreferenciar a menos que se convierta en otro tipo. Un puntero void se puede convertir en cualquier otro tipo de puntero de datos. Un puntero void puede sealar a una funcin, pero no a un miembro de clase en C++. No se puede declarar una variable de tipo void. Ejemplo // void.cpp void vobject; // C2182 void *pv; // okay int *pint; int i; int main() { pv = &i; // Cast optional in C required in C++ pint = (int *)pv; } 14 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 15 1.2 Constantes y variables. Variable: el nombre simblico de una cantidad de datos, de forma que el nombre se pueda utilizar para tener acceso a los datos que se hace referencia en el mbito del cdigo donde se define. En C++, variable se utiliza normalmente para hacer referencia a las instancias de tipos de datos escalares, mientras que las instancias de otros tipos normalmente se denominan objetos. Constantes: Los elementos invariables de un programa se denominan literales o constantes. Los trminos literal y constante se utilizan aqu indistintamente. Los literales tienen cuatro categoras principales: enteros, carcter, flotante, y literales de cadena. Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. As: 157 // integer constant 0xFE // integer constant 'c' // character constant 0.2 // floating constant 0.2E-01 // floating constant "dog" // string literal Las constantes enteras son los datos constantes que no tienen ninguna parte fraccionaria o exponente. Comienzan siempre con un dgito. Pueden especificar signo o tipos sin signo. 123 987 1027 -125 -236 Las constantes de coma flotante especifican los valores que deben tener una fraccin. Estos valores contienen los separadores decimales (.) y pueden contener exponentes. 16 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Las constantes de coma flotante tienen una mantisa, que especifica el valor de nmero, un exponente , de los que especifica la magnitud del nmero, y un sufijo opcional que especifica el tipo de constante. La mantisa es especificada como una secuencia de dgitos seguido de un punto, seguido de una secuencia opcional de dgitos que representan a la parte fraccionaria del nmero. Por ejemplo: 18.46 38.1 18.46e0 // 18.46 18.46e1 // 184.6 Las constantes de coma flotante tienen una mantisa, que especifica el valor de nmero, un exponente , de los que especifica la magnitud del nmero, y un sufijo opcional que especifica el tipo de constante. La mantisa es especificada como una secuencia de dgitos seguido de un punto, seguido de una secuencia opcional de dgitos que representan a la parte fraccionaria del nmero. Por ejemplo: 18.46 38.1 18.46e0 // 18.46 18.46e1 // 184.6 17 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. El exponente se puede especificar mediante E o E, que tienen el mismo significado, seguido de un signo opcional (+ o -) y una secuencia de dgitos. Si un exponente est presente, el separador decimal final es innecesario en nmeros enteros como 18E0. Una constante de carcter es cualquier carcter imprimible entre comillas simples a. Para la gran mayora de compiladores de C/C++, el cdigo fuente y los juegos de caracteres de ejecucin son ASCII. 18 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 19 El juego de caracteres bsico de origen consta de 96 caracteres: el carcter de espacio; los caracteres de control que representan la tabulacin horizontal, la tabulacin vertical, el avance de pgina y la nueva lnea; y los 91 caracteres siguientes: abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRST UVWXYZ 0123456789 _{}[]#()<>%:;.?*+-/^&|~!=,\"' Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. El juego de caracteres bsico de ejecucin est formado por caracteres del juego de caracteres bsico y tambin los caracteres de control que representan alerta, retroceso, retorno de carro y null. Esta es la tabla de los caracteres de escape. Carcter ASCII Representacin ASCII Valor Secuencia de escape Nueva lnea NL (LF) 10 o 0x0a \n Tabulacin horizontal HT 9\ t Tabulacin vertical VT 11 o 0x0b \v Retroceso BS 8\ b Retorno de carro CR 13 o 0x0d \r 20 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Carcter ASCII Representacin ASCII Valor Secuencia de escape Avance de pgina FF 12 o 0x0c \f Alerta BEL 7\ a Barra diagonal inversa \ 92 o 0x5c \\ Signo de interrogacin ? 63 o 0x3f \? Comilla simple ' 39 o 0x27 \' 21 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Carcter ASCII Representacin ASCII Valor Secuencia de escape Comilla doble " 34 o 0x22 \" Nmero octal ooo \ ooo Nmero hexadecimal hhh \ xhhh Carcter nulo NUL 0\ 0 22 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Si el carcter que sigue a la barra diagonal inversa no especfica una secuencia de escape vlida, el resultado es implementacin definida. En Microsoft C++, el carcter que sigue a la barra diagonal inversa se toma literalmente, como si el escape no estuviese presente y se emite una advertencia de nivel 1 (secuencia de escape de carcter no reconocida). Un literal de cadena consta de cero o ms caracteres de juego de caracteres de origen incluido entre comillas ("). Un literal de cadena representa una secuencia de caracteres que, en conjunto, forman una cadena terminada en null. Los literales de cadena pueden contener cualquier carcter grfico de juego de caracteres de origen excepto comillas ("), la barra inversa (\), o el carcter de nueva lnea. Pueden contener las mismas secuencias de escape descritas en Literales de caracteres de C++. 23 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Variables: Una variable representa los valores guardados en memoria durante la ejecucin de un programa C++, hay que recordar que los datos de un programa se almacenan en memoria RAM (Randon Acces Memory) durante su ejecucin y de manera persistente en el disco duro. 24 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. El nombre de una variable se conoce como identificador. Un identificador es una secuencia de caracteres utilizados para denotar uno de los siguientes: Objeto o nombre de variable. Nombre de clase, estructura o unin. Nombre de tipo enumerado. Miembro de una clase, estructura, unin o enumeracin. Funcin o funcin miembro de clase. Nombre de definicin de tipos. Nombre de etiqueta. Nombre de macro. Parmetro de macro. Hay ciertas reglas que se deben cumplir para asignarle el nombre a una variable y que el compilador las pueda reconocer sin que ocasionen errores. Los nombres de variables deben empezar con letras (a-z o A-Z), o el carcter _ esto es necesario para que el compilador pueda detectar que se trata de una variable. Despus del primer carcter se pueden usar caracteres numricos o letras. 25 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. No se deben usar caracteres especiales en los nombres de variables Las palabras reservadas del lenguaje C++ no se deben usar como nombres de variables. Aqu encontraran una lista de las palabras reservadas de C++ Aqu encontraran una lista de los caracteres que se pueden usar para nombrar variables. Nombres de variables bien escogidos ayudan a documentar el programa, por ejemplo una variable llamada montoPrestamo, por simple lgica podramos saber que contiene el valor de un prstamo. Estos datos de acuerdo a su valor y naturaleza ocupan un espacio en la memoria en bytes para su optimizacin C++ define tipos de datos vistos anteriormente. 26 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1.2.1 Declaraciones de variables. C++ es un lenguaje fuertemente tipado y tambin es de tipos estticos; cada objeto tiene un tipo y ese tipo nunca cambia (no confundir con objetos de datos estticos). Al declarar una variable en el cdigo, debe especificar explcitamente su tipo o utilizar la palabra clave auto para indicar al compilador que deduzca el tipo de inicializadores. Al declarar una funcin en el cdigo, debe especificar el tipo de cada argumento y su valor devuelto o void si no se devuelve ningn valor por la funcin. 27 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Despus declarar primero una variable, no puede cambiar su tipo posteriormente. Sin embargo, puede copiar el valor devuelto del valor de variable o de una funcin en otra variable de un tipo diferente. Estas operaciones se denominan conversiones de tipo, que son a veces necesarias pero tambin son posibles orgenes de prdida de datos o incorreccin. La forma de declarar variables en C++ es la siguiente: Tipo identificador; Ejemplos: char c; int b; 28 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Tambin se le pueden dar valores de inicializacin char c=a; int b=10; int result = 0; // Declare and initialize an integer. double coefficient = 10.8; // Declare and initialize a floating
auto name = "Lady G."; // Declare a variable and let compiler // deduce the type. auto address; // error. Compiler cannot deduce a type // without an intializing value. age = 12; // error. Variable declaration must // specify a type or use auto! result = "Kenny G."; // error. Cant assign text to an int. string result = "zero"; // error. Cant redefine a variable with // new type. int maxValue; // Not recommended! maxValue contains // garbage bits until it is initialized. 29 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1.2.2.Funciones. Tanto en los lenguajes estructurados o en los orientados a objetos se mantiene la mxima de la programacin Divide y vencers, esto se debe a que se recurre a la descomposicin sucesiva del problema en partes pequeas que son ms fciles de resolver, porque su complejidad es baja en comparacin con el problema completo. Las funciones se usan para encapsular la solucin de estas pequeas partes del problema. Una funcin es una agrupacin de sentencias que realizan una accin especfica ya sea realizar un clculo en cuyo caso devuelve valor o simplemente la realizacin de una tarea, por ejemplo trazar una lnea en la pantalla. 30 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. En la mayor parte de los lenguajes de programacin las subrutinas estn divididas en dos grupos bien diferenciados, las que devuelven valor (Funciones) y las que no (Procedimientos). En C/C++ esta distincin no existe sino meramente en lo conceptual; en la implementacin solo las diferencia el tipo de retorno. La forma general de una funcin es la siguiente: En la mayor parte de los lenguajes de programacin las subrutinas estn divididas en dos g diferenciados, las que devuelven valor (Funciones) y las que no (Procedimientos). En C/C++ no existe sino meramente en lo conceptual; en la implementacin solo las diferencia el tipo d La forma general de una funcin es la siguiente: 31 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. El tipo de datos representa el valor a devolver por parte de la funcin, el nombre de la funcin es el nombre que se la ha asignado a la funcin, puede ser cualquiera, sin embargo se prefiere que sea un nombre que refleje el objeto o la accin que cumple la funcin. 1.2.3.La funcin main. La funcin main() es una secuencia de llamadas a otras funciones que pueden llamar a otras funciones. C++ proporciona los medios para construir nuestras propias funciones as como tambin bibliotecas de funciones, tales como la stdio.h de ANSI C, y las especficas de C++ como stream, iostream y otras. Al igual que cualquier funcin en C++ la funcin main es un subprograma que puede o no devolver un valor o simplemente realizar una accin. 32 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Su forma es: 33 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1.2.4. Funciones de la biblioteca estndar de C++. La biblioteca estndar de C++ est compuesta por una coleccin de archivos que contienen funciones predefinidas que ayudan al programador a realizar tareas comunes, estos archivos son archivos de extensin .h y son llamados archivos de cabecera. Un archivo de cabecera es un archivo especial que contiene las declaraciones de objetos y funciones de la biblioteca que son aadidos en el lugar donde se insertan. Un archivo de cabecera se inserta con la directiva #include . El nuevo ANSI C++ ha cambiado el convenio (notacin) original de los archivos de cabecera. Es posible utilizar slo los nombres de las bibliotecas sin el sufijo .h; es decir, se puede usar iostream , cmath , cassert y cstlib en lugar de iostream.h , math.h , assert.h y stdlib.h respectivamente. 34 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Los archivos de cabecera que son parte de la biblioteca estndar de C++ son: <bitset> <algorithm> <fstream> .<streambuf> <deque> <functional> <ios> <complex> <list> <iterator> <iostream> <numeric> <map> <locale> <iosfwd> <valarray> <queue> <memory> <iomanip> <exception> <set> <stdexcept> <istream>. <limits> <stack> <utility> <ostream> <new> <vector> <string> <sstream>< typeinfo> 35 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1.2.5. Funciones definidas por el usuario. Una funcin tambin se puede considerar un subprograma por lo que se podra aplicar el siguiente esquema: Para obtener las entradas, en adelante parmetros o argumentos, la funcin usa la lista de argumentos, que no es otra cosa que variables que contienen los datos de entrada, la forma de una funcin con lista de argumentos, que suma dos nmeros enteros y devuelve un valor entero es la siguiente. 36 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Donde a, b son dos variables enteras, y son los argumentos o parmetros de la funcin, las llaves delimitan los bloques de cdigo en C++, por lo que se usan aqu para delimitar el alcance de la funcin, las lneas de cdigo en adelante sentencias, terminan en (;) , por ltimo una funcin que devuelve valor, debe terminar con la palabra clave return que indica el fin de la funcin y debe devolver un valor del tipo de la funcin. 37 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. 1.3. Funciones de entrada y salida. C++, no define explcitamente un mtodo de entrada y salida (E/S), la E/S la proporciona la biblioteca estndar, la directiva Aade el contenido del archivo de cabecera <iostream> que permite manipular los flujos de entrada y salida. Al aadir el archivo <iostream> podemos usar los siguientes smbolos 38 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Con estos smbolos podemos capturar el valor de variables de entrada por teclado (cin) y mostrar (salida) el valor de variables en pantalla (cout). Una forma fcil de entender estas y otras funciones de C/C++ es leerla as; cin -> C de C++ y in de Dentro de en ingls y cout -> C de C++ y out de fuera en ingls. Un uso tpico de estas funciones sera: Donde std es el espacio de nombre, donde estn contenidas las especificaciones de los smbolos cin, cout y endl; que son los que se muestran en la figura. 39 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Webgrafa: CPlayMasH. (2013). Programacin en C - TIPOS DE DATO - Datos Primitivos. Consultado el 19 de abril de 2014, en http://www.youtube.com/watch?v=KoKQppboxRY Valderrama, T. (2009). Funciones en C, parte I. Consultado el 19 de abril de 2014, en http://www.youtube.com/watch?v=fOBbxNZfR2E Visual Studio. (2010). Visual Studio Express. Consultado el 19 de abril de 2014, en http://www.visualstudio.com/es-es/downloads/download-visual-studio-vs#DownloadFamilies_4 Code Block. (2013). Downloads. Consultado el 19 de abril de 2014, en http://www.codeblocks.org/downloads Ebrary biblioteca. (2013). C++ ahora. Consultado el 19 de abril de 2014, en http://site.ebrary.com/lib/senavirtualsp/docDetail.action?docID=10491298&adv.x=1&p00=programacion&f00= all&p01=%22C%2B%2B+%28Lenguaje+De+Programaci%C3%B3n%29%22&f01=subject. Microsoft Developer Network. (2013). Liberales de C++. Consultado el 19 de abril de 2014, en http://msdn.microsoft.com/es- es/library/c70dax92.aspx?sentenceGuid=2a5a82ae3b9433b8cda529f8708863f9#mt2 40 Material de Actividad de Aprendizaje 1 Copyright SENA , 2014 CONCEPTUALIZACIN DEL LENGUAJE DE PROGRAMACIN C++. Bibliografa: J. Aguilar, L. Snchez Garca. (2006). Programacin en C++: un enfoque prctico. Madrid, Espaa: Editorial. McGraw-Hill. J. Aguilar, L. Snchez Garca. (2006).Programacin en C++: algoritmos, estructuras de datos y objetos. (2a. Edicion).Madrid, Espaa: Editorial. McGraw-Hill. J. Aguilar, L. Zahonero Martnez. (2010). Programacin en C, C++, Java y UML. Madrid, Espaa: Editorial. McGraw-Hill. R. Winder. (1995). Desarrollo de software con C++. Editorial. Ediciones Daz de Santos. 41