Guía práctica. Ing. Douglas González Curso C++ Tipos fundamentales Los datos de tipo fundamental se pueden clasificar en: Tipos enteros: char (carácter), short (formato corto), int (entero), long (formato largo) y enum (enumeración). Tipos reales: float (precisión simple), uble (precisión ble) y long uble (formato largo). Otros: void (vacío). Operares A continuación resumimos en una tabla los operares del C++. Están agrupas por orden de precedencia, nde cada caja tiene mayor precedencia que las cajas de abajo. Algunos operans ya se estudiarán en capítulos posteriores, sobre to los relacionas con las clases. Operares Descripción Sintaxis --------------------------------------------------------------------------- ++ postincremento Ivalue + + ++ preincremento + + Ivalue - - postdecremento Ivalue - - - - predecremento - - Ivalue * multiplicación expr * expr / división espr / expr % resto expr % expr + suma expr + expr - resta expr - expr < menor que expr < expr < = menor o igual que expr < = expr > mayor que expr > expr > = mayor o igual que expr > = expr = = igual que expr = = expr Función!kbhit: Para repetir un bucle hasta pulsar una tecla puedes usar la función!kbhit de la librería conio.h. while (!kbhit()) //aquí va lo quieres que se repita hasta pulsar una tecla Coman Sleep(x): Para hacer una pausa usas Sleep(x); // x son los miliseguns. Por ejemplo : Sleep(500);. Debes usar la librería winws.h Sentencia cout escribir: cout << "Este es mi primer programa\n"; cout << "Aquí salto la linea, "; cout << " pero aquí escribió segui\n"; cout << "Ahora continua\n"; cout << "Ahora limpiara pantalla\n"; system("cls"); cout << "Esto es to\n"; Sentencia cin leer: #include<iostream.h> int ano, edad; char nombre[11]; cout << "Escribe tu nombre: "; cin >> nombre; cout << "Escribe el ano de tu nacimiento: "; cin >> ano; edad = 2009-ano; cout << "Hola: "<<nombre << " tienes: " << edad<<" anos \n\n"; VARIABLES: INT, FLOAT, CHAR, CHAR[] /* operaciones con tipos diferentes*/ int i=1; uble x=-1.26; uble y=2; cout<<"i=2 x=-1,26 y=2 \n"; x+=y; //x=x+y, suma uble de s ubles, x=0.74 cout<<"x=x+y "<<x<<"\n"; y*=y; //Y=Y*Y, producto uble de s ubles, y=4 cout<<"y=y+y "<<y<<"\n"; x=x+i; //suma uble de un uble y un entero, x=1.74 cout<<"x=x+i "<<x<<"\n"; i+=x; // suma entera de un entero y un uble, i=2
cout<<"i=i+x "<<i<<"\n"; cout<<"x+y "<<x+y<<" i="<<i<<endl; // x+y=5.74 i=2 Bucles for La sentencia for permite ejecutar una instrucción, o un conjunto de ellas, un cierto número de veces desea. /* bucles for */ # include <iostream.h> for (int i=2; i<4; i++) cout <<"escribo el "<<i<<endl; /* Escribir la tabla de multiplicar de un cierto número*/ int n; cout << Introduzca el número cuya tabla de multiplicar desea: ; cin >> n; if (n==0) cout << la tabla es nula <<endl ; cout << la tabla de multiplicar del número <<n<< es: <<endl; for (int i=1; i<10;i++) cout <<i<< * <<n<< = <<i*n<<endl; 5.- ; int i,inicio,fin,n; cout<<"ciclo for:\n"; cout<<"da el inicio: "; cout<<"da el fin: "; cin>>n; for (int cont=i;cont<=n;cont++) cout<<cont << endl; 6.- ; int i,inicio,fin,n; for (variable = valor ; condición ; progresión-condición)... 3- int num; cout << "Introduzca el número "; cin >> num; for (int cont=0; cont < 10; cont++) cout << num <<endl; 4.- /* Listar los 20 primeros números pares/impares en orden decreciente*/ main () int n; cout<<"los 20 primero números pares en orden decreciente"<<endl; for (int i=0; i<21; i+=2) n=20; n-=i; cout <<"numero par:"<<n<<endl; cout<<"los 20 primero números impares en orden decreciente"<<endl; for (int j=19; j>0; j-=2) cout <<"numero impar:"<<j<<endl; 7.- main() cout << "Lista de numeros pares del 0 al 20\n"; int i,n; for (int cont=1; cont<=20; cont++) i=cont%2; if (i==0) cout << cont << "\n"; 8.- main() cout << "Lista de numeros impares del 0 al 20\n";
cout<<"ciclo for:\n"; cout<<"da el inicio: "; cout<<"da el fin: "; cin>>n; for (int cont=i;cont>=n;cont--) cout<<cont << endl; int i,n; for (int cont=1; cont<=20; cont++) i=cont%2; if (i!=0) cout << cont << "\n"; Sentencias tipo if- La sentencia if permite a un programa tomar una decisión para ejecutar una acción u otra, basánse en el resulta verdadero o falso de una expresión. if (condición) //hacer algo sentencia 3; //hacer otra cosa sentencia 4; Control de flujo. Condicionales I /*Sentencias tipo if/. Anidamientos y operaciones lógicas*/ int i,j; cout<<"introduzca el valor de i: "; cout<<"introduzca el valor de j: "; cin>>j; if (i<j) cout <<"i es menor que j"<<endl; cout <<"i es mayor que j"<<endl; /*pregunta s números, que operación deseas hacer y muestra resulta*/ uble a, b; int c; cout << Introduzca el primer número <<endl ; cin >> a; cout << Introduzca el segun número <<endl ; cin >> b; cout << Que operación deseas hacer, 1(suma), 2(producto) <<endl ; cin >> c; if (c==1) cout << el resulta es: <<a+b<<endl; cout << el resulta es: <<a*b<<endl; 3- /* Calcular áreas de diferentes polígonos*/ uble a, b; uble Area; int figura; cout<< figura = cuadra(1), rectángulo(2), triángulo(3) <<endl; cout<< que área quieres calcular? <<endl; cin>>figura; if (figura==1) cout << valor del la= ; cin >>a; Area=a*a; if (figura==2) cout << valor del la menor = ; cin >> a; cout << valor del la mayor = ; cin >>b; Area=a*b; if (figura==3) cout << valor de la base = ; cin >>a; cout << valor de la altura = ; cin >>b; Area=a*b/2.0; cout << figura equivocada <<endl; Area=0; cout<< El área de la figura es= <<Area<<endl; (operares lógicos) /*Operares lógicos*/ int a=5; int b=0; int d = a&&b; cout << d; // operar && AND
int e=a b; cout << e; // operar OR int f=!a; cout << f; // operar! NOT Anidamientos de sentencias if Se dice que una sentencia if- está anidada cuan dentro de su formato general se encuentra otrassentencias if. Esto es; if (condición 1) if (condición 2) Las llaves del código anterior indican que la cláusula está emparejada con el primer if. Cuan en el código de un programa aparecen sentencias if- anidadas, y no existen llaves que definan claramente cómo emparejar los y los if, la regla que se debe utilizar es que cada corresponde con el if más próximo que no haya si empareja. Ejemplo: if (condición 1) if (condición 2) En el código anterior, la cláusula corresponde al segun if. Como es fácilmente comprensible, el anidamiento conduce a una lectura difícil del código. La manera de mantener legible la estructura lógica es utilizar las cláusulas y el sangra para señalar cada bloque. Comparan los s códigos inferiores, y mediante el sangra, se puede seguir de forma clara qué está realizan el código. if (condición 1) if (condición 1) if (condición 2) if (condición 2) Control de flujo. Condicionales II Sentencias tipo switch-break La sentencia switch permite ejecutar una de varias acciones, en función del valor de una expresión. Es una sentencia muy útil para decisiones múltiples. switch (expresión) case expresión-constante 1: case expresión-constante 2: case expresión-constante 3: case expresión-constante 4: sentencia 3; sentencia n; Código de trabajo ( switch / break ) /*Sentencia tipo switch*/ int i; cout<<"de una opcion 1 2 o 3 "; switch (i) cout <<"opcion es 1"<<endl; case 2: cout <<"opcion es 2"<<endl; case 25: cout << "opcion es 25" << endl; cout <<"opcion no es ni 1 ni 2"<<endl; /* el programa pregunta s números, que operación deseas hacer y muestra el resulta*/ uble a, b; int c; cout << Introduzca el primer número <<endl ; cin >> a; cout << Introduzca el segun número <<endl ; cin >> b; cout << Que operación deseas hacer, 1(suma), 2(producto) <<endl ; cin >> c; switch (c) cout << el resulta es: <<a+b<<endl; cout << el resulta es: <<a*b<<endl; /* Calcular áreas de diferentes polígonos*/
uble a, b, Area; int figura; cout<< figura = rectángulo(1), triángulo(2) <<endl; cout<< que área quieres calcular? <<endl; cin>>figura; switch (figura) cout << valor del la menor = ; cin >>a; cout << valor del la mayor = ; cin >>b; Area=a*b; case 2: cout << valor de la base = ; cin >>a; cout << valor de la altura = ; cin >>b; Area=a*b/2.0; cout << figura equivocada <<endl; Area=0; if (Area) cout<< El área de la figura es= <<Area<<endl; cerr << error, la figura no tiene area <<endl; Sentencias tipo -while La sentencia -while ejecuta una sentencia (simple o compuesta) una o más veces, dependien del valor de una expresión. Su sintaxis es : sentencias ; while (condición); Nótese que la sentencia -while finaliza con un ; /* Sentencias tipo -while */ int i=0, j=6; cout<<"el número 6 es mayor que el"<<i<<endl; while (i++<j); /* Listar los 20 primeros números pares en orden decreciente*/ void main (void) cout<< lista de los 20 primero números pares en orden decreciente <<endl; int i=22; i-=2; cout << numero par: <<i<<endl; while (i>0); Sentencias tipo while La sentencia while funciona de forma parecida al bucle while. La diferencia principal estriba en que el bucle while asegura que, al menos, se ejecuta una vez el código conteni entre las llaves; mientras que el while depende de la condición lógica. Su sintaxis es : while (condición) sentencias; /* Sentencias tipo while */ int i=0; while (i<6) cout<<"el número 6 es mayor que el "<<i++<<endl; /* Listar los 20 primeros números pares en orden decreciente*/ cout<< lista de los 20 primero números pares en orden decreciente <<endl; int i=22; while (i>0) cout << numero par: <<i<<endl; i-=2;