Académique Documents
Professionnel Documents
Culture Documents
Introduccin al curso C++ es considerado un excelente lenguaje de Programacin para el desarrollo de Aplicaciones Orientadas a Objetos. La Programacin Orientada a Objetos (Object Oriented Programming) permite crear programas bien organizados, fciles de comprender, flexibles y con el concepto de cdigo reutilizable. C++ tiene la particularidad de poder trabajar con programas hechos en el antiguo C (programacin estructurada tradicional), adems de poder manejar la programacin orientada a objetos. Mdulo 1: Elementos Bsicos del Lenguaje 1. Componentes Bsicos de Un Programa 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. declaracin globales. funciones definidas por el usuario funcin main comentarios para entender el funcionamiento del programa DIRECTIVAS Las directivas de preprocesamiento son definidas para que el compilador realice algo antes de compilar el programa (revisar si la sintaxis es correcta y generar un cdigo ejecutable por la computadora), como el incluir funciones de alguna biblioteca conocida en particular. En C la directiva para incluir bibliotecas es como las siguientes: Ejemplos: #include <iostream.h> Esta directiva permitir utilizar la funcin de lectura cin y la funcin de escritura cout propias de C++. #include <stdio.h> Esta directiva permitir utilizar las funciones de lectura y escritura propias de C. Estas directivas tambin funcionan con C++, aunque existen algunos compiladores que no las soportan en cuyo caso es necesario hacer uso de los namespaces. Un namespace es una declaracin de regin. El propsito de estos es localizar el nombre de identificadores para evitar colisiones. Para tener compatibilidad, cuando un programa en C++ incluye una libreria de C, haremos uso del namespace. Ejemplo: En C tenemos #include <iostream.h> con el respectivo en C++ #include <iostream> using namespace std; DECLARACIONES GLOBALES Las declaraciones globales son definiciones de variables o constantes que sern utilizadas por cualquiera de todas las funciones definidas en el programa. La sintaxis para la declaracin de una variable es:
Universidad de Guayaquil
Sede Cuenca
Universidad de Guayaquil
Sede Cuenca
Universidad de Guayaquil
Sede Cuenca
Flotantes Dentro de los flotantes C++ tiene los tipos: float, double y long double, donde al igual que los enteros vara el rango de cada uno de acuerdo al compilador que se utilice. De igual forma el float es el de menor rango siendo long double el de rango mayor.
Caracteres Se utiliza el tipo char. Para representar un caracter en C++ se utilizan apstrofes. Ejemplos: a, b, 5 Para representar una cadena de caracteres se utilizan las comillas. Ejemplo: "Soy una cadena"
Estatuto de Lectura Sintaxis del estatuto cin cin >> Lista de variables; donde Lista de variables puede ser una o ms variables separadas por >> Ejemplos: cin >> a >> b; // estamos esperando la entrada de dos valores del tipo definido en la declaracin de a, y b cin >> num; // estamos esperando la entrada de un solo valor Estatuto de Escritura Sintaxis del estatuto cout cout << Lista; donde Lista puede ser variables, valores constantes o expresiones separadas por << Ejemplos: cout << "Dame el numero "; // estamos desplegando el mensaje en pantalla cout << "El resultado es " << resul; // estamos desplegando el letrero y el valor de la variable resul
Universidad de Guayaquil
Sede Cuenca
Universidad de Guayaquil
Sede Cuenca
Todos los operadores que se muestran en esta tabla son binarios; es decir, trabajan con dos operandos. Los operadores +, - y * funcionan de la manera conocida. El operador / funciona de diferente manera si trabaja con datos de tipo entero o de tipo flotante. Con datos de tipo flotante funciona de la manera tradicional; pero al realizarse una divisin entre dos nmeros enteros, el operador / regresa el cociente de la divisin entera; es decir, regresa la parte entera del resultado (si hay fraccin la elimina). Por ejemplo: 2/3 da como resultado 0 pero 2.0/3.0 da como resultado 0.66666 Si hay operandos de diferentes tipos de datos, se convierten al tipo de datos ms amplio y el tipo del valor resultante es del tipo ms amplio. Por ejemplo, si hay enteros y
Universidad de Guayaquil
Sede Cuenca
Universidad de Guayaquil
Sede Cuenca
2 3 4 5
Algunas Funciones Matemticas Predefinidas C++ contiene una serie de funciones matemticas que puedes utilizar en tus programas, algunas de estas funciones son: abs(x) obtiene el valor absoluto de x, x debe ser entero sqrt(x) obtiene la raz cuadrada de x, x debe ser positivo pow(x,y) calcula x elevado a la potencia y, pueden ser enteros o flotantes el uso de estas funciones requiere de la librera <math.h> Operadores de Relacionales Los operadores relacionales que tiene C++ son : Operador en C+ Significado + == Igual != Diferente < Menor que > Mayor que Menor o igual <= que Mayor o igual >= que Operadores Lgicos Los operadores lgicos que maneja C++ son: Operador Significado en C++ || or && and ! not El resultado de las expresiones que incluyen operadores relacionales o lgicos generan resultados verdaderos o falsos. Para C++ el cero representa falso y cualquier otro nmero verdadero. Ejemplos de construccin de expresiones Expresin para saber si un nmero es par: (num % 2 == 0) Expresin para saber si un nmero A est en el rango 5 a 300 incluyendo los extremos (num > = 5) && (num <=300)
Universidad de Guayaquil
Sede Cuenca
Conceptos de Programacin Orientada a Objetos Empecemos con un ejemplo: Supn que estas en un estacionamiento caminando hacia tu auto, entonces tomas el control remoto y oprimes un botn, en ese momento se desactiva la alarma de tu automvil. El control remoto es un objeto fsico que tiene propiedades: peso, tamao y tambin puede hacer cosas: puede enviar mensajes al automvil. No est claro como hace esto, pero no necesitas saberlo para poder usarlo; solo necesitas saber qu botn oprimir para que esto ocurra. Los botones son la interface del control remoto. Si conoces la interface de un objeto, lo puedes usar para realizar acciones sin entender cmo trabaja. El automvil tambin es un objeto fsico, tiene propiedades y realiza acciones, una de ellas es recibir un mensaje de un control remoto para desactivar la alarma. Gracias a la abstraccin eres capz de hacer que dos objetos interacten entre s, sin necesidad de entender cmo funcionan.
Universidad de Guayaquil
Sede Cuenca
Comportamientos: depositar, retirar, consultar el saldo. Los lenguajes orientados a objetos nos permiten crear abstracciones encapsulando las propiedades y los comportamientos en un solo concepto llamado clase. Las propiedades (tambin llamadas atributos o datos miembro) que pertenecen a una clase se definen como variables y los comportamientos (tambin llamados mtodos o funciones miembro) se definen como funciones, y stos tienen la caracterstica de tener acceso a los atributos privados de la clase.
La diferencia entre clase y objeto es sutil pero muy importante. La clase es el concepto abstracto, es una especie de molde para crear objetos, define qu atributos y mtodos tiene la clase. Por otro lado el objeto es la entidad concreta. A partir de una clase, se pueden crear instancias, es decir objetos y cada objeto tiene valores distintos para sus atributos. Por ejemplo: Continuando con nuestro ejemplo de la clase cuenta bancaria,
Universidad de Guayaquil
Sede Cuenca
Un objeto puede recibir mensajes, los cuales son para para pedirle que haga algo, o bien, que cambie alguna de sus propiedades. Esto es equivalente a llamar a una funcin, solo que al llamar al mtodo se tiene que hacer referencia al objeto especfico en el que se ejecutar dicho mtodo. Por ejemplo, se puede pedir a la cuenta bancaria 193 ejecutar el mtodo depositar con el valor 100, lo cual se reflejar con un cambio en el valor del atributo saldo actual, el nuevo valor para dicho atributo ser 5,348.00. Pero nota que el valor del atributo saldo actual de la cuenta 281 permanece sin cambio. Funciones para Establecer y Consultar el valor de los atributos Es muy comn que las clases incluyan mtodos para establecer (o escribir) y consultar (o leer) los valores de atributos privados de la clase; a estos mtodos se les llama en ingls "mutators" y "accesors" y se acostumbra poner los nombres "set" seguido del nombre de la variable para mtodos "mutators" y "get" seguido del nombre de la variable para los mtodos "accesors"; as por ejemplo deberamos tener los siguientes mtodos: void setSaldoActual(double valor); // mtodo para establecer el valor de la variable saldo Actual. double getSaldoActual(); // mtodo para consultar el valor de la variable saldo Actual. Tener estos mtodos puede parecer equivalente a haber declarado el atributo como pblico; sin embargo hay una pequea diferencia que es muy imortante. Si hacemos el atributo pblico cualquier programa cliente puede modificar su valor sin verificar que el nuevo valor que se le asigne sea un valor apropiado; por otro lado, un mtodo para establecer el valor de la variable puede realizar la validacin del dato que va a asignar al atributo y si no es un dato vlido puede rechazarlo.
Universidad de Guayaquil
Sede Cuenca
Universidad de Guayaquil
Sede Cuenca