You are on page 1of 23

VARIABLES Y TIPOS DE DATOS 1.1 VARIABLES Las variables se utilizan para almacenar datos asociados a nombres.

Cada variable tiene un nombre que sirve de referencia para introducir datos o acceder a los mismos. Un ejemplo de utilizacin de variable es: Edad = 23; en este caso, introducimos el valor numrico 23 en la variable Edad. A partir de ahora podemos utilizar la variable a travs de su nombre (Edad) para referirnos a su valor (23). Los nombre de las variables, en C++, pueden tener cualquier longitud y deben comenzar con una letra, el smbolo de subrayado _ o el dlar $. El resto de los caracteres del nombre pueden ser cualquier a, salvo los que puden dar lugar a confusin. Los nombre de variables no deben tener espacios en blanco, puesto que el compilador identifacara ms de una variable; por ejemplo, NumeroDeAciertos es un nombre de variable correcto, sin embargo Numero De Aciertos no lo es, porque el compilador identificara tres variables diferentes: Numero, De y Aciertos. Los nombre de variables no deben coincidir con palabras reservadas (tales como public, static, class, final, main, etc.). Existe una serie de palabras reservadas las cuales tienen un significado especial para C++ y por lo tanto no se pueden utilizar como nombres de variables. Dichas palabras son: PALABRAS CLAVE DE C++ Palabras clave comunes para los lenguajes de programacin C y C++ auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Palabras clave slo de C++ and and_eq asm bitand bitor bool catch class compl const_cast delete dynamic_cast explicit Export false friend inline mutable namespace new not not_eq operator or or_eq private protected public reinterpret_cast static_cast template this throw true try typeid typename using virtual wchart_t xor xor_eq En C++, los identificadores de variables suelen definirse empezando por un carcter en minscula, por ejemplo contador. Si en el identificador existen ms de una palabrea, los comienzos del resto de las palabras se ponen con maysculas, ejemplo: contadorDeAciertos. Los identificadores deben ser representativos de los datos que almacenan, de esta manera valorAcumulado, numeroAlumnos, cantidadEuros, edad, potencia son variables que determinan de forma adecuada el significado de sus contenidos, mientras que los nombres de variable: valor V1, V2, X, Y, Z no son representativos de sus contenidos. La longitud de los identificadores no debe ser excesivamente larga, para no dificultar la legibilidad de las instrucciones. Los identificadores en mayscula se suelen reservar para nombres (normalmente cortos) de constantes, de esta manera las instrucciones son ms legibles, al utilizarse minsculas. Ejemplo: PI, STOCK, PRECIOHORA, IVA, etc. 1.2 Tipos de datos Las variables almacenan datos de diferentes tipos (numrico decimal, numrico entero, caracteres, etc.). Para indicar el tipo de dato que contendr las variables debemos declarar las mismas, indicando sus

tipos. Este mecanismo permite que el traductor (compilador) realice las comprobaciones estticas de validez, como por ejemplo que no empleamos en el programa una variable que no ha sido declarada, que no asignemos un carcter a una variable de tipo numrico, que no sumemos un carcter a un valor numrico, etc. A continuacin se establece una relacin de los tipos de datos primitivos (los que proporciona el lenguaje): Tipos integrales Tipos de punto flotante bool float char double signed char long double unsigned char short int unsigned short int int unsigned int long int unsigned long int wchar_t Para declara una variable se emplea la sintaxis: tipo identificador; //declara una variable tipo identificador [= valor]; //declara e inicializa una variable tipo identificador1, identificador2, identificador3, etc.; //declara varias variables del mismo tipo tipo identificador1=valor1, identificador2=valor2, etc.; // declara e inicializa varias variables del mismo tipo Por ejemplo: int edad = 60; short int sueldoMensual; float PrecioEuros, cateto1, cateto2, hipotenusa; bool adquirido=false, finalizado=true; 1. OPERADORES 2.1 Introduccin Los operadores nos permiten realizar operaciones sobre los operandos. Existen operandos unuarios y binarios; un ejemplo de operador unuario es la negacin lgica (!). Los operadores tienen unas reglas de precedencia que resulta importante tener en cuenta. 1.1. Operadores Aritmticos Esta tabla resume todas las operaciones aritmticas binarias en C++: Operador Uso Descripcin + op1 + op2 Suma op1 y op2 op1 - op2 Resta op2 de op1 * op1 * op2 Multiplica op1 y op2 / op1 / op2 Divide op1 por op2 % op1 % op2 Obtiene el resto de dividir op1 por op2 Nota: El lenguaje C++ extiende la definicin del operador + para incluir la concatenacin de cadenas. Adems, existen dos operadores de atajos aritmticos, ++ que incrementa en uno su operando, y -- que decrementa en uno el valor de su operando. Operador ++ ++ -Uso op ++ ++op op -Descripcin Incrementa op en 1; evala el valor antes de incrementar Incrementa op en 1; evala el valor despus de incrementar Decrementa op en 1; evala el valor antes de decrementar

--

-- op

Decrementa op en 1; evala el valor despus de decrementar

1.2. Operadores Relacionales y Condicionales Los valores relacionales comparan dos valores y determinan la relacin entre ellos. Por ejemplo, != devuelve true si los dos operandos son distintos. Esta tabla resume los operadores relacionales de C++: Operador Uso Devuelve true si > op1 > op2 op1 es mayor que op2 >= op1 >= op2 op1 es mayor o igual que op2 < op1 < op2 op1 es menor que op2 <= op1 <= op2 op1 es menor o igual que op2 == op1 == op2 op1 y op2 son iguales != op1 != op2 op1 y op2 son distintos 1.3. Operadores Relacionales And y Or Operador Uso Devuelve true si && op1 && op2 op1 y op2 son verdaderos || op1 || op2 uno de los dos es verdadero ! ! op op es falso El operador & se puede utilizar como un sinnimo de && si ambos operadores son booleanos. Similarmente, | es un sinnimo de || si ambos operandos son booleanos. 1.4. Operadores de Asignacin Puedes utilizar el operador de asignacin =, para asignar un valor a otro. Adems del operador de asignacin bsico, C++ proporciona varios operadores de asignacin que permiten realizar operaciones aritmticas, lgicas o de bits y una operacin de asignacin al mismo tiempo. Especficamente, suponga que quieres aadir un nmero a una variable y asignar el resultado dentro de la misma variable, como esto: i = i + 2; Puedes ordenar esta sentencia utilizando el operador +=. i += 2; Las dos lneas de cdigo anteriores son equivalentes. Esta tabla lista los operadores de asignacin y sus equivalentes: Operador Uso Equivale a += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 - op2 *= op1 *= op2 op1 = op1 * op2 /= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2 1.5. Precedencia de Operadores en C++ operadores sufijo [] . (params) expr++ expr-operadores unarios ++expr --expr +expr -expr ~ ! creacin o tipo new (type)expr multiplicadores */% suma/resta +relacionales < > <= >= instanceof igualdad == != AND lgico && OR lgico || condicional ?: asignacin = += -= *= /= %= ^= &= |= <<=

2. SENTENCIAS DE CONTROL DE FLUJO Las sentencias de control de flujo determinan el orden en que se ejecutarn las otras sentencias dentro del programa. El lenguaje C++ soporta varias sentencias de control de flujo, incluyendo: Sentencias Palabra clave Toma de decisiones if-else, switch-case Bucles ciclos for, while, do-while Excepciones try-catch-finally, throw Miscelneas break, continue, return 2.1. Toma de decisiones 2.1.1. Instruccin de seleccin if Los programas utilizan instrucciones de seleccin para elegir entre los cursos alternativos de accin. Por ejemplo, suponga que la calificacin para aprobar un examen es de 60. La instruccin en C++ puede escribir de la siguiente manera: if ( calificacionesEstudiante >= 60 ) cout<<Aprobado; 2.1.2. Instruccin de seleccin doble ifelse La instruccin if de seleccin simple realiza una accin indicada solamente cuando la condicin es verdadera (true); de no ser as, se evita dicha accin. La instruccin ifelse de seleccin doble permite al programador especificar una accin a realizar cuando la condicin es verdadera, y otra distinta cuando la condicin es falsa (false). Por ejemplo la siguiente instruccin en C++ imprime Aprobado si la calificacin del estudiante es mayor a 60, e imprime Reprobado si la calificacin del estudiante es menor a 60. if ( calificacionEstudiante >= 60 ) cout<<"Aprobado"; else cout<<"Reprobado"; 2.1.3. Operador condicional (?:) C++ cuenta con el operador condicional (?:), que est estrechamente relacionado con la instruccin ifelse. Este es el nico operador ternario de C++, es decir, que recibe tres operadores. En conjunto, los operandos y el operador condicional forman una expresin condicional. El primer operando es una condicin, el segundo es el valor de la expresin condicional si la condicin es true, y el tercer operando es el valor de toda la expresin condicional si la condicin es false. Por ejemplo, la instruccin de salida cout << ( calificacionEstudiante >= 60 ? cout << "Aprobado" : cout << "Reprobado") ; contiene una expresin condicional, calificacionEstudiante >= 60 ? Aprobado : Reprobado, que se evala como la cadena Aprobado, si la condicin calificacionEstudiante >= 60 es true, pero se evala Reprobado, si la condicin es false. Por lo tanto, la instruccin con el operador condicional realiza en esencia la misma funcin que la instruccin ifelse anterior. La precedencia del operador condicional es baja, por lo cual los parntesis en la expresin anterior son obligatorios. 2.1.4. Instruccin ifelse anidadas Las instrucciones ifelse anidadas pueden evaluar varios casos, al colocar instrucciones ifelse dentro de otras instrucciones ifelse. Por ejemplo, la siguiente instruccin ifelse en C++ imprime A para las calificaciones de exmenes mayores o iguales a 90, B para calificaciones en el rango 80 a 89, C para las calificaciones en el rango 70 a 79, D para las calificaciones en el rango 60 a 69 y F para todas las dems calificaciones. if ( calificacionEstudiante >= 90) cout << "A";

else if ( calificacionEstudiante >= 80) cout << "B"; else if ( calificacionEstudiante >= 70) cout << "A"; else if ( calificacionEstudiante >= 60) cout << "A"; else cout << "D"; Situacin errnea Omisin de los parntesis en las condiciones Confundir el operador relacional == con el operador de asignacin =

No tener en cuenta el orden de precedencia de los operadores en las condiciones. Olvidar el smbolo para comparaciones = diferentes 2.2. Bucles o ciclos 2.2.1. Instruccin de repeticin for La instruccin de repeticin for especfica los detalles de la repeticin controlada por contador en una sola lnea de cdigo. Componentes del encabezado de la instruccin for La siguiente figura muestra un anlisis ms detallado del encabezado de la instruccin for. Observe que el encabezado de la instruccin for se encarga de todo: especfica cada uno de los elementos necesarios para la repeticin controlada por contador con una variable de control. Si hay ms de una instruccin en el cuerpo del for, se requieren llaves para encerrar el cuerpo del ciclo.

Comentario Los parntesis son sintcticamente obligatorios en las condiciones de todas las instrucciones Este es un error muy tpico difcil de detectar, recordar que en las asignaciones se utiliza un smbolo de igual y en las comparaciones dos signos de igual Ante cualquier duda utilizar parntesis

Palabra Nombre clave de for variable de control

Separador de Valor final de la variable Separador de punto y para la cual la condicin punto y coma coma es verdadera requerido requerido contador++ )

for ( int contador = 1 ; contador <= 10;

Valor inicial de la variable de control

Condicin de continuacin de ciclo

Incremento de la variable control

Ejemplo: #include <iostream> using std::cout; using std::endl; int main() { //El encabezado de la instruccin for incluye la inicializacin, //la condicin de continuacin del ciclo y el incremento. for(int contador=1 ; contador<= 10 ; contador++)

cout << contador <<" "; cout << endl; //Imprime una nueva lnea return 0; //Indica que termin correctamente } 2.2.2. Instruccin de repeticin while El bucle while nos permite repetir la ejecucin de una serie de instrucciones mientras que se cumpla una condicin de continuidad. Su uso resulta recomendable cuando no conocemos a priori el nmero de iteraciones que debemos realizar. El bucle while tiene dos posibles sintaxis: while (condicin de continuidad){ Instrucciones a ejecutar en forma repetitiva }

Ejemplos: En el siguiente ejemplo se muestra una implementacin muy sencilla del bucle while en la que se pretende imprimir los nmeros 1, 2, 3, y 4. Puesto que conocemos a priori el nmero de iteraciones sera ms adecuado utilizar un bucle for, pero se ha escogido este ejemplo sencillo para mostrar una primera implementacin del bucle while.

En el ejemplo se declara una variable de tipo int en la lnea 6 y se inicializa a 1; esta variable actuar como contador de iteraciones en el bucle. En la lnea 7 se establece la condicin de continuidad del bucle (se itera mientras que i<=4). La lnea 9 se encarga de imprimir el valor de y la lnea 10 de incrementarlo. Un error muy frecuente cuando se codifica un bucle while es olvidar incrementar al contador (lnea 10), generando un bucle infinito. En nuestro ejemplo tambin crearamos un bucle infinito si olvidramos las llaves delimitadoras del mbito del bucle.

A continuacin se muestra la forma alternativa de utilizar un bucle while : do{}while(condicin); la semntica en este ejemplo es la misma que en el anterior (se imprimen los valores de 1 a 4). El

detalle de la ejecucin vara respecto a que la condicin de continuidad se evala al final en lugar al comienzo del bucle.

1.1.1. Switch Cuando en una condicin existen diversas posibilidades, nos vemos obligados a programar usando if anidados, lo que complica la realizacin y depuracin de cdigo. Para facilitar la programacin en estas situaciones, se proporciona la instruccin condicional switch, que permite definir un nmero ilimitado de ramos basadas en la misma condicin. Sintaxis Switch(expresin) {case valor1: Instrucciones; break; case valor2: instrucciones; break; default: instrucciones; break; } Cuando el flujo de control del programa llega a la instruccin switch, lo primero que se hace es evaluar la expresin, despus se va comparando el valor de cada clausula case con el resultado de la evaluacin de la expresin. Cuando en una instruccin case coinciden los valores, se ejecutan las instrucciones asociadas hasta alcanzar la sentencia break. Si no se incluyen break en un case, se ejecutan todas las instrucciones siguientes (correspondientes a los siguientes grupos case) hasta que se encuentra un break o se termina la instruccin switch. Es importante tener en cuenta que la expresin asociada a la instruccin asociada a la instruccin switch solo debe generar valores de tipo: char, byte, short o int.

2. PRIMER PROYECTO MICROSOFT VISUAL C++ 2010 PASOS Abra el programa Microsoft Visual C++ 2010 Elija en el men Archivo la opcin Nuevo Proyecto..

Elija la lista de Plantillas instaladas de Visual C++, de la lista de tipos de Proyectos elija Proyecto vaci. Especifique un nombre para el proyecto: appHolaMundoC++.

Elija el nombre y la ruta donde desea guardar el proyecto. Recuerde que si lo desea lo puede guardar en su llave maya, dando clic en el botn Examinar, para buscar la ruta o direccin. Ponga el nombre HolaMundoC++. Presione el botn Aceptar. Terminado el paso anterior, ha construido un proyecto vaco, con carpetas determinadas para cada un tipo de archivo definido.

El proyecto se habr creado y se abrir el IDE. Deberas de ver los siguientes componentes: La ventana del Explorador de Soluciones, la cual contiene una vista de rbol de los componentes del proyecto, incluyendo los archivos fuente, las libreras de las que depende t cdigo, recurso, etc. CREACIN DE LA FUNCIN PRINCIPAL MAIN Posteriormente crear un ARCHIVO NUEVO CON EXTENSIN CPP que sirva como FUNCIN PRINCIPAL del proyecto. Presiona el botn derecho sobre la carpeta Archivos de cdigo fuente. Elije la opcin Agregar y posteriormente la opcin Nuevo elemento

Aparecer la siguiente ventana donde le solicita el TIPO de archivo, elige Archivo C++ (.cpp). Tambin se solicita el nombre del archivo, el cul ser Main.Presiona el botn Agregar.

El programa guarda el archivo en forma automtica dentro del proyecto, en la carpeta seleccionada. Aparecer una ventana en blanco con el nombre Main. Escriba en esta ventana el cdigo fuente de su programa.

txtNombre btnProcesar

EJECUTAR CORRER EL PROGRAMA De la barra de Men elija

el

men

Depurar

elija

la

opcin:

iniciar

depuracin

La salida ser la siguiente

3. EJERCICIOS EN Microsoft Visual C++ 2010 EN ESPAOL OBJETIVO: Elaborar diferentes programas bsicos en C++. 3.1. Creacin del proyecto: appCalcularPulsaciones Abra el programa Microsoft Visual C++ 2010 EN ESPAOL. Elija en el men Archivo la opcin Nuevo Proyecto.. Elija la lista de Plantillas instaladas de Visual C++, de la lista de tipos de Proyectos elija Proyecto vaci. Especifique la ruta de almacenamiento del proyecto y un nombre para el proyecto: appCalcularPulsaciones. Posteriormente crear un ARCHIVO NUEVO CON EXTENSIN CPP que sirva como FUNCIN PRINCIPAL del proyecto. Presiona el botn derecho sobre la carpeta Archivos de cdigo fuente. Elije la opcin Agregar y posteriormente la opcin Nuevo elemento Aparecer una nueva ventana donde le solicita el TIPO de archivo, elige Archivo C++ (.cpp). Tambin se solicita el nombre del archivo, el cul ser Main. Presiona el botn Agregar. Cree un programa que calcule el nmero de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la frmula es: Num_Pulsaciones = (220 edad) / 10.
#include<iostream> //permite al programa realizar operaciones de entrada y salida using std::cout; // el programa usa cout using std::endl; // el programa usa endl using std::cin; // el programa usa cin //la funcion main comienza la ejecucion del programa int main() { double edad=0; //Declaracin e inicializacin de la variable edad double pulsaciones=0; //Declaracin e inicializacin de la variable pulsaciones cout << "Digite por favor su edad: "; //Muestra un mensaje solicitando la edad cin >> edad; //Guarda la edad digitada por el usuario en la variable edad

pulsaciones = (220 - edad) / 10; // Calcular el nmero de pulsaciones segn la frmula cout << "El numero de pulsaciones es: " << pulsaciones ; // Imprime el resultado cout << endl; //Imprime una lnea en blanco system("pause"); // Permite una pausa

return 0;// indica que el programa trmino con xito }//fin de la funcin main

3.2. Creacin del proyecto: appCalcularSalario Cree un programa que permita calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.
#include<iostream> //permite al programa realizar operaciones de entrada y salida using std::cout; // el programa usa cout using std::endl; // el programa usa endl using std::cin; // el programa usa cin //la funcion main comienza la ejecucion del programa int main() { //Declaracin e inicializacin de variables. double salarioActual = 0; //Variable para almacenar el salario actual double aumento = 0; //variable para almacenar el aumento double salarioNuevo = 0; //Variable para guardar el salario nuevo calculado //Solicitud de datos de Entrada... cout << "Digite su salario actual: "; //Entrada de datos... cin >> salarioActual; //Proceso de datos... aumento = salarioActual * 0.25; salarioNuevo = salarioActual + aumento; //Salida de datos... cout << "El incremento es de:" << aumento <<endl; cout << "Su nuevo salario es de: "<<salarioNuevo <<endl; system("pause"); }//fin de la funcin main

3.3. Creacin del proyecto: appPresupuestoHospital En un hospital existen tres reas. Ginecologa, Pediatra, Traumatologa. El presupuesto anual del hospital se reparte conforme a la siguiente tabla: REA Ginecologa Traumatologa Pediatra PORCENTAJE DE PRESUPUESTO 40% 35% 25%

Cree un programa que permita obtener la cantidad de dinero que recibir cada rea, para cualquier monto presupuestal.
#include<iostream> //permite al programa realizar operaciones de entrada y salida using std::cout; // el programa usa cout using std::endl; // el programa usa endl using std::cin; // el programa usa cin #include<iomanip> //manipuladores de flujo parametrizado using std::setw; //permite al programa establecer una anchura de campo //la funcion main comienza la ejecucion del programa int main() { //Declaracin e inicializacin de variables

double presupuesto=0; //Variable para guardar el presupuesto total double ginecologia=0, pediatria=0, traumatologia=0; // guarda el monto de c/ rea. //Entrada de datos cout << "Digite el PRESUPUESTO asignado al hospital: "; cin >> presupuesto; //Procesos ginecologia=presupuesto*0.40; pediatria=presupuesto*0.25; traumatologia=presupuesto*0.35; //Salida de datos cout << endl << "MONTOS ASIGNADOS A LAS DIFERENTES AREAS"<<endl << endl; cout << setw( 7 ) << "PEDIATRIA: " << setw( 7 ) << pediatria << endl << endl; cout << setw( 7 ) << "GINECOLOGIA: " << setw( 7 ) << ginecologia << endl << endl; cout << setw( 7 ) << "TRAUMATOLOGIA:" << setw( 7 ) << traumatologia << endl << endl; system("pause"); }//fin de la funcin main

3.4. Creacin del proyecto: appGananciaArticulo. El dueo de una tienda compra un artculo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%.
#include<iostream> //permite al programa realizar operaciones de entrada y salida using std::cout; // el programa usa cout using std::endl; // el programa usa endl using std::cin; // el programa usa cin //la funcion main comienza la ejecucion del programa int main() { //Declaracin e inicializacin de variables char nombreArticulo[25]; //variable para guardar el nombre del articulo double precioCosto=0; //Variable para guardar el precio de costo del articulo double ganancia=0; //variable para almacenar la ganancia obtenida double precioVenta;//variable para guardar el precio de venta del articulo //Entrada de datos cout << "Digite el NOMBRE del articulo: "; cin.getline(nombreArticulo,24); cout << "Digite el PRECIO DE COSTO del articulo: "; cin >> precioCosto; //Procesos ganancia = precioCosto * 0.30; precioVenta = precioCosto + ganancia; //Salida de datos cout << "El precio en que debe vender el articulo " <<nombreArticulo << " es de " << precioVenta << endl; system("pause"); }

3.5. Creacin del proyecto: appInversionDinero Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.
#include<iostream> //permite al programa realizar operaciones de entrada y salida using std::cout; // el programa usa cout using std::endl; // el programa usa endl using std::cin; // el programa usa cin

//la funcion main comienza la ejecucion del programa int main() { //Declaracin e inicializacin de variables double montoTotal=0;//Variable para guardar el monto total de la empresa double monto1=0; // monto dado por la persona 1 double monto2=0; // monto dado por la persona 2 double monto3=0; // monto dado por la persona 3 double porc1=0; // porcentaje a calcular de la persona 1 double porc2=0; // porcentaje a calcular de la persona 2 double porc3=0; // porcentaje a calcular de la persona 3 //Entrada de datos cout << "Digite el MONTO de la primer persona: "; cin >> monto1; cout << "Digite el MONTO de la segunda persona: "; cin >> monto2; cout << "Digite el MONTO de la tercera persona: "; cin >> monto3; //Procesos montoTotal = monto1 + monto2 + monto3; porc1 = (monto1 * 100) / montoTotal; porc2 = (monto2 * 100) / montoTotal; porc3 = (monto3 * 100) / montoTotal; //Salida de datos cout << "LOS PORCENTAJES DE CADA INVERSIONISTA SON " << endl; cout << "Persona 1: " << porc1 << endl; cout << "Persona 2: " << porc2 << endl; cout << "Persona 3: " << porc3 << endl; system("pause"); }//fin de la funcin main

3.6. Creacin del proyecto: appCompararNumeros Leer 2 nmeros, si son iguales que los multiplique, s el primero es mayor que el segundo que los reste y si no que los sume.
#include<iostream> //permite al programa realizar operaciones de entrada y salida using std::cout; // el programa usa cout using std::endl; // el programa usa endl using std::cin; // el programa usa cin //la funcion main comienza la ejecucion del programa int main() { //Declaracin e inicializacin de variables int numero1=0, numero2=0; //Variables para guardar los dos nmeros int resultado=0; //Variable para guardar el resultado de las operaciones //Entrada de datos cout << "Digite el NUMERO 1: "; cin >> numero1; cout << "Digite el NUMERO 2: "; cin >> numero2; //Procesos if ( numero1 == numero2) resultado = numero1 * numero2; else if ( numero1 > numero2) resultado = numero1 - numero2; else resultado = numero1 + numero2;

//Salida de datos cout << "EL RESULTADO ES " <<resultado << endl; system("pause"); }//fin de la funcin main

3.7. Creacin del proyecto: appLlantera En una llantera se ha establecido una promocin de las llantas marca "Ponchadas", dicha promocin consiste en lo siguiente Si se compran menos de cinco llantas el precio es de 3 000 cada una, 2 500 si se compran de cinco a 10 y de 2 000 si se compran ms de 10 Obtener la cantidad de dinero por cada una de las llantas que compra y el total de la compra.
#include<iostream> //permite al programa realizar operaciones de entrada y salida using std::cout; // el programa usa cout using std::endl; // el programa usa endl using std::cin; // el programa usa cin //la funcion main comienza la ejecucion del programa int main() { //Declaracin e inicializacin de variables int cantidad=0, total=0; //Variables para guardar los dos datos //Imprime informacin cout <<"*********** LLANTERA LAS PONCHADAS ***********"<<endl <<"*** De 1 a menos de 5 llantas valor 3.000,00" <<endl <<"*** De 5 a menos de 10 llantas valor 2.500,00" <<endl <<"*** Mas de 10 llantas valor 2.000,00" <<endl; //Entrada de datos cout << "Digite la cantidad de llantas a comprar: "; cin >> cantidad; //Procesos if ( cantidad < 5) total = cantidad * 3000; else if ( cantidad >= 5 && cantidad < 10) total = cantidad * 2500; else total = cantidad * 2000; //Salida de datos cout << "EL TOTAL A PAGAR ES: " <<total << endl; system("pause"); }//fin de la funcin main

3.8. Creacin del proyecto: appManzanas Una frutera ofrece las manzanas con descuento segn la siguiente tabla: NM. DE KILOS COMPRADOS % DESCUENTO 02 35 6 -10 11 0% 10% 15% en adelante 20%

Determinar cunto pagar una persona que compre manzanas es esa frutera.

#include<iostream> //permite al programa realizar operaciones de entrada y salida using std::cout; // el programa usa cout using std::endl; // el programa usa endl using std::cin; // el programa usa cin //la funcion main comienza la ejecucion del programa int main() { //Declaracin e inicializacin de variables double precio = 0, cantidad = 0, total = 0; //Variables para guardar los dos datos double descuento = 0; //Imprime informacin cout <<"*********** VENTA DE MANZANAS ***********"<<endl <<"*** KILOS % Descuento" <<endl <<"*** 0 - 2 %0" <<endl <<"*** 3 - 5 %10" <<endl <<"*** 6 - 10 %15" <<endl <<"*** 11 en adelante %20" <<endl; //Entrada de datos cout << "Digite el precio por Kilo de las manzanas: "; cin >> precio; cout << "Digite la cantidad de kilos a comprar: "; cin >> cantidad; //Procesos total = cantidad * precio; if ( cantidad >= 3 && cantidad <= 5) descuento = total * 0.10; else if ( cantidad >= 6 && cantidad <= 10) descuento = total * 0.15; else if ( cantidad >= 10) descuento = total * 0.20; total = total - descuento; //Salida de datos cout << "EL TOTAL A PAGAR ES: " <<total << endl; system("pause"); }//fin de la funcin main

3.9. Creacin del proyecto: appColorBolita En una tienda de descuento se efecta una promocin en la cual se hace un descuento sobre el valor de la compra total segn el color de la bolita que el cliente saque al pagar en caja. Si la bolita es de color blanco no se le har descuento alguno, si es verde se le har un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%. Determinar la cantidad final que el cliente deber pagar por su compra. se sabe que solo hay bolitas de los colores mencionados. Realice un D-F que resuelva el problema anterior.
#include <iostream> using std::cout; using std::endl; using std::cin; #include <cstdlib> // contiene los prototipos para las funciones srand y rand using std::rand; using std::srand; int generarNumero(); // genera un nmero al azar int main() { // randomiza el generador de nmeros aleatorios, usando la hora actual

int numeroAlAzar= 1 + rand() % 5;//Representa el color de la bolita double descuento=0,compra=0; //Datos de entrada... cout << "Digite la cantidad de su compra: "; cin >> compra; switch(numeroAlAzar) { case 1: descuento = compra * 0.0; break; case 2: descuento = compra * 0.10; break; case 3: descuento = compra * 0.25; break; case 4: descuento = compra * 0.50; break; case 5: descuento = compra * 1; break; } compra = compra - descuento; cout << endl << "El total a pagar es " << compra << endl; system("pause"); } // fin de main

3.10. Creacin del proyecto: appFabricaComputadoras En una fbrica de computadoras se planea ofrecer a los clientes un descuento que depender de la cantidad de computadoras que compre, si las computadoras son menos de cinco se les dar un 10% de descuento sobre el total de la compra, si la cantidad de compra es mayor o igual a cinco pero menos de diez se le otorga un 20% de descuento; y si son 10 o ms se les da un 40% de descuento. El precio de cada computadora es de 230,000. Determine cunto es el descuento y el total que deber pagar un cliente por su compra.
#include<iostream> //permite al using std::cout; // el programa using std::endl; // el programa using std::cin; // el programa programa realizar operaciones de entrada y salida usa cout usa endl usa cin

//la funcion main comienza la ejecucion del programa int main() { //Declaracin e inicializacin de variables double precio = 230000, cantidad = 0, total = 0; //Variables para guardar los dos datos double descuento = 0; //Imprime informacin cout <<"*********** VENTA DE COMPUTADORAS ***********"<<endl <<"*** CANTIDAD % DESCUENTO" <<endl <<"*** 5 - 9 %20" <<endl <<"*** 10 en adelante %40" <<endl <<"*********************************************"<<endl<<endl; //Entrada de datos cout << "Digite la CANTIDAD de computadoras: "; cin >> cantidad; //Procesos total = cantidad * precio; if ( cantidad >= 5 && cantidad < 10)

descuento = total * 0.20; else if ( cantidad >= 10) descuento = total * 0.40; total = total - descuento; //Salida de datos cout << "EL DESCUENTO APLICADO ES: " <<descuento << endl; cout << "EL TOTAL A PAGAR ES: " <<total << endl; system("pause"); }//fin de

3.11. Creacin del proyecto: appAlmacen En un almacn se utilizan los siguientes cdigos CDIGO = 1 para un automvil nuevo CDIGO = 2 para un automvil usado CDIGO = 3 para accesorios aparte La comisin de un vendedor es la siguiente: el 3% del precio de venta en automviles nuevos, pero con un mximo de 300.000 de comisin, el 5% del precio de venta en automviles usados, pero con un mnimo de 75.000 de comisin, el 6% en accesorios. Dibuje un Diagrama de flujo que reciba como parmetro de entrada el CDIGO y PRECIO y como salida imprima la COMISIN de cada vendedor.

2. EJERCICIOS PROPUESTOS a. Sentencias de control repetitivas 1. Escriba un programa que lea un nmero entero por teclado y escriba la tabla de multiplicar de ese nmero. 2. Escriba un programa que muestre por pantalla la tabla de multiplicar de los 10 primeros nmeros (1,2,3....9,10.). 3. Calcular la suma de las siguientes series: a)

b)

4. Realice un programa que lea nmeros enteros positivos hasta que se introduzca un 0. El programa deber mostrar por pantalla la cantidad de nmeros ledos, el promedio, as como el valor mximo introducido. 5. Realice un programa que calcule y visualice el ms grade, el ms pequeo y el promedio de n nmeros (n>0). El valor de n se solicitar al principio del programa y los nmeros sern introducidos por el usuario. 6. Realizar un programa que pida dos nmeros enteros por teclado y muestre por pantalla el siguiente men:

El usuario deber elegir una opcin y el programa deber mostrar el resultado por pantalla y despus volver al men. El programa deber ejecutarse hasta que se elija la opcin 5. Salir. Modificar el ejercicio anterior para que al elegir la opcin 5, en vez de salir del programa directamente, nos muestre el siguiente mensaje de confirmacin: Esta seguro que desea Salir S/N? De modo que si elegimos s salgamos del programa, pero si pulsamos el botn no, volvamos al men.

7. Realice un programa que calcule el factorial de un nmero dado por teclado. Realice este ejercicio utilizando primero un bucle for y posteriormente repita el ejercicio utilizando un bucle while. 8. Realice un programa que determine si un nmero ledo del teclado es primo o no. 9. Un nmero perfecto es un entero positivo, que es igual a la suma de todos los enteros positivos (excluido l mismo) que son divisores del nmero. El primer nmero perfecto es 6, ya que los divisores de 6 son 1, 2, 3 y 1 + 2 + 3 = 6. Escriba un programa que lea un nmero entero positivo n y muestre por pantalla si ese nmero es o no perfecto. 10. Realice un programa que lea un nmero entero por teclado y devuelva por pantalla el nmero de dgitos que componen ese nmero. Por ejemplo, si introducimos el nmero 12334, el programa deber devolver 5. (Pista: utilice el operador %, averige para qu sirve y piense cmo utilizarlo). 11. Realice un programa que lea un nmero entero por teclado y devuelva por pantalla las que forman ese nmero. Por ejemplo, si se introduce el nmero 2345, el programa deber mostrar por pantalla 5 4 3 2. (Pista: utilice el ejercicio anterior como base para realizar este ejercicio).

Ejercicios que usan nmeros aleatorios para realizar juegos y simulaciones 12. Realizar un programa que simule un juego de adivinar un nmero. El programa pedir al usuario dos nmeros que representan el rango de valores entre los que se encuentra el nmero a adivinar, as como el nmero de intentos para adivinar el nmero. A continuacin el programa generar un nmero aleatorio entre esos dos nmeros y el usuario deber adivinarlo en el nmero mximo de intentos antes indicado. Cada vez que el jugador introduce un nmero el programa le dice si es mayor o menor y le indica cuantos intentos le quedan.

13. Realice un programa que pregunte aleatoriamente cualquier multiplicacin. El programa debe indicar si la respuesta ha sido correcta o no (en caso que la respuesta sea incorrecta el programa debe indicar cul es la correcta). Una vez preguntado por una multiplicacin el programa debe preguntar si desea realizar otra. En caso afirmativo preguntar aleatoriamente otra multiplicacin. En caso negativo el programa finalizar. 14. Modificar el ejercicio anterior de modo que el programa pregunta aleatoriamente un total de n multiplicaciones siendo n un nmero dado por teclado. En cada multiplicacin el programa debe indicar si se ha acertado o no. Al final del programa, ste deber mostrar un resumen indicando el nmero de respuestas correctas y errneas, as como el porcentaje de aciertos y de fallos. 15. Realice un programa que genere aleatoriamente 7 operaciones aritmticas consecutivas a las que el usuario deber ir respondiendo correctamente para ir avanzando. Los nmeros (aleatorios) sobre los que se realizan las operaciones deben estar comprendidos entre 2 y 9 y las operaciones aritmticas (tambin aleatorias) permitidas sern la suma, resta, multiplicacin y divisin (en el caso de la divisin se realizar siempre una divisin entera).

Ejemplo: 1. 5 x 4 = 20 2. 20 4 = 16 3. 16 / 8 = 2 4. 2 x 6 = 10 Incorrecto 5. 3 x 3 = 9 6. 12 7 = 2 Incorrecto 7. 12 7 = 5 b. Ejercicios propuestos funciones

1. Escribir un programa que pida un nmero por teclado y nos diga si ese nmero es primo. El programa deber utilizar una funcin definida por el usuario, a la que se le pase un nmero y nos devuelva un 0 en el caso de que el nmero que le pasemos no sea primo, y un 1 en caso contrario. 2. Escribir un programa que pida un nmero natural por teclado y nos diga si ese nmero es perfecto (un nmero natural es perfecto si es igual a la suma de sus divisores, excluido l mismo). El programa deber utilizar una funcin definida por el usuario, a la que se le pase un nmero y nos devuelva un 0 en el caso de que el nmero que le pasemos no sea perfecto, y un 1 en caso contrario. 3. Realizar un programa que pida dos nmeros enteros por teclado y muestre por pantalla el siguiente men:

El usuario deber elegir una opcin, introducir dos valores y el programa deber mostrar el resultado por pantalla. Todas las opciones (1 a 6) deben realizarse utilizando funciones.

4. Utilizando la funcin primo realizada en el Ejercicio 1, realizar un programa que muestre por pantalla todos los nmeros primos comprendidos entre 1 y un nmero n introducido por teclado por el usuario. 5. Escriba una funcin que lea tres nmeros enteros del teclado y nos devuelva el mayor.

6. Escriba una funcin que calcule la suma de los divisores de un nmero entero positivo. 7. Escriba una funcin que determine si un carcter es uno de los dgitos 0,1,2.....9. 8. Escriba una funcin que convierta grados a fahrenheit (fahrenheit = grados * 9.0/5.0 + 32.0) 9. Escriba las funciones necesarias para poder calcular la equivalencia entre centmetros, pies y pulgadas. (1 Pulgada = 2.54 cm, 1 Pie = 30.48 cm, 1 Pie = 12 Pulgadas)

10. Escribir una funcin que lea un nmero entero y un nmero real por teclado, en funcin del nmero entero se aplicar una de las funciones de conversin anteriores, tal y como muestra la siguiente tabla:

Ejercicios propuestos de un nivel de dificultad mayor. 11. Escriba una funcin que decida si un nmero entero es capica. La palabra capica (en matemticas, nmero palndromo) se refiere a cualquier nmero que se lee igual de izquierda a derecha y de derecha a izquierda (Ejemplos: 101, 111, 121,..., 181, 191, 202, 212,..., 292, 303, 313,..., 898, 909, 919, 929,..., 979, 989, 999, etc) 12. Escriba una funcin que calcule la suma de los divisores de un nmero entero positivo, pudiendo excluir de dicha suma el propio nmero (ser un parmetro adicional (valor 1 o 0) quien determinar si se suma o no). 13. Construya una funcin, llamada amigos, que apoyndose en la funcin anterior, permita ver si dos nmeros son o no amigos (dos nmeros A y B son amigos si la suma de los divisores de A (excluido l mismo) coincide con B y viceversa) 14. Realizar un programa que pida dos nmeros enteros por teclado y muestre por pantalla el siguiente men:

El usuario deber elegir introducir dos valores y a continuacin elegir una opcin (pulsando el carcter correspondiente), el programa deber mostrar el resultado por pantalla. Cada una de las opciones a realizarse en el men la debe realizar una funcin especfica, sumar(num1, num2); restar(num1,num2) etc

15. Realizar una funcin que reciba como entrada una frase acabada en punto, y devuelva el nmero de vocales y el nmero total de caracteres ledos sin incluir los espacios en blanco. 16. Realizar una funcin que reciba un array de caracteres y devuelva en una variable el nmero de palabras que hay en el array. 17. Realizar una funcin que recibe una cadena de caracteres, y cambia todas las vocales por punto. 18. Realizar un programa que lea un nombre con apellidos por teclado y a continuacin muestre el siguiente men:

You might also like