• No se han encontrado resultados

Guía práctica. Ing. Douglas González Curso C++

N/A
N/A
Protected

Academic year: 2021

Share "Guía práctica. Ing. Douglas González Curso C++"

Copied!
5
0
0

Texto completo

(1)

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) yenum (enumeración). Tipos reales: float (precisión simple), double (precisión doble) y long double (formato largo).

Otros: void (vacío). Operadores

A continuación resumimos en una tabla los operadores del C++. Están agrupados por orden de precedencia, donde cada caja tiene mayor precedencia que las cajas de abajo.

Algunos operandos ya se estudiarán en capítulos posteriores, sobre todo los relacionados con las clases. Operadores 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

}

Comando Sleep(x):

Para hacer una pausa usas Sleep(x); // x son los

milisegundos. Por ejemplo :

Sleep(500);. Debes usar la librería windows.h

Sentencia cout escribir: #include <iostream.h> int main()

{

cout << "Este es mi primer programa\n"; cout << "Aquí salto la linea, ";

cout << " pero aquí escribió seguido\n"; system("PAUSE");

cout << "Ahora continua\n";

cout << "Ahora limpiara pantalla\n"; system("PAUSE");

system("CLS");

cout << "Esto es todo\n"; system("PAUSE"); return 0;

}

Sentencia cin leer: #include<iostream.h> int main()

{

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";

system("PAUSE"); return 0;

}

VARIABLES: INT, FLOAT, CHAR, CHAR[] /* operaciones con tipos diferentes*/ #include <iostream.h>

int main (void) {

int i=1;

double x=-1.26; double y=2;

cout<<"i=2 x=-1,26 y=2 \n";

x+=y; //x=x+y, suma double de dos doubles, x=0.74 cout<<"x=x+y "<<x<<"\n";

y*=y; //Y=Y*Y, producto double de dos doubles, y=4 cout<<"y=y+y "<<y<<"\n";

x=x+i; //suma double de un double y un entero, x=1.74 cout<<"x=x+i "<<x<<"\n";

(2)

cout<<"i=i+x "<<i<<"\n";

cout<<"x+y "<<x+y<<" i="<<i<<endl; // x+y=5.74 i=2 system("pause");

return 0 ;} Bucles for

La sentencia for permite ejecutar una instrucción, o un conjunto de ellas, un cierto número de veces deseado.

La sintaxis de esta sentencia es la siguiente:

for (variable = valor ; condición ; progresión-condición) { sentencia 1; sentencia 2; ... } 1-/* bucles for */ # include <iostream.h> int main (void)

{

for (int i=2; i<4; i++)

cout <<"escribo el "<<i<<endl; return 0; } 3-#include <iostream.h> int main() { int num;

cout << "Introduzca el número "; cin >> num;

for (int cont=0; cont < 10; cont++) {

cout << num <<endl; }

system("pause"); return 0;

}

2-/* Escribir la tabla de multiplicar de un cierto número*/

#include <iostream.h> int main (void)

{ int n;

cout << “Introduzca el número cuya tabla de multiplicar desea:”; cin >> n;

if (n==0)

cout << “la tabla es nula” <<endl ; else

{

cout << “la tabla de multiplicar del número”<<n<<“es:”<<endl; for (int i=1; i<10;i++)

cout <<i<<“*”<<n<<“=“<<i*n<<endl; }

return 0 ; }

4.-/* Listar los 20 primeros números pares/impares en orden decreciente*/

#include <iostream.h> 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;} system("pause"); return 0; } 7.-#include <iostream.h> 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"; } } system("PAUSE"); return 0; } 5.-#include <iostream.h>; int main() { int i,inicio,fin,n; cout<<"Ciclo for:\n"; cout<<"da el inicio: "; cin>>i; cout<<"da el fin: "; cin>>n;

for (int cont=i;cont<=n;cont++) { cout<<cont << endl; } system("pause"); } 6.-#include <iostream.h>; int main() { int i,inicio,fin,n; 8.-#include <iostream.h> main() {

(3)

cout<<"Ciclo for:\n"; cout<<"da el inicio: "; cin>>i;

cout<<"da el fin: "; cin>>n;

for (int cont=i;cont>=n;cont--) { cout<<cont << endl; } system("pause"); } int i,n;

for (int cont=1; cont<=20; cont++) { i=cont%2; if (i!=0) { cout << cont << "\n"; } } system("PAUSE"); return 0; } Sentencias tipo if-else

La sentencia if permite a un programa tomar una decisión para ejecutar una acción u otra, basándose en el resultado verdadero o falso de una expresión.

La sintaxis de esta sentencia es la siguiente: if (condición)

{

sentencia 1; //hacer algo sentencia 2;

} else {

sentencia 3; //hacer otra cosa sentencia 4;

}

Control de flujo. Condicionales I

1-/*Sentencias tipo if/else. Anidamientos y operaciones lógicas*/ #include <iostream.h> int main() { int i,j; cout<<"Introduzca el valor de i: "; cin>>i; cout<<"Introduzca el valor de j: "; cin>>j; if (i<j)

{cout <<"i es menor que j"<<endl;} else

{cout <<"i es mayor que j"<<endl;} system("PAUSE");

return 0; }

2-/*pregunta dos números, que operación deseas hacer y muestra resultado*/

#include <iostream.h> int main (void)

{

double a, b; int c;

cout << “Introduzca el primer número” <<endl ; cin >> a;

cout << “Introduzca el segundo número” <<endl ;

cin >> b;

cout << “Que operación deseas hacer, 1(suma), 2(producto)” <<endl ;

cin >> c;

if (c==1) {cout <<“el resultado es:”<<a+b<<endl;} else {cout <<“el resultado es:”<<a*b<<endl;} return 0 ;

}

3-/* Calcular áreas de diferentes polígonos*/ #include <iostream.h>

int main (void) {

double a, b; double Area; int figura;

cout<<“figura = cuadrado(1), rectángulo(2), triángulo(3)”<<endl;

cout<<“¿que área quieres calcular?”<<endl; cin>>figura;

if (figura==1)

{ cout <<“valor del lado=“; cin >>a; Area=a*a;} else if (figura==2)

{cout <<“valor del lado menor =“; cin >> a;

cout <<“valor del lado mayor =“; cin >>b;

Area=a*b;} else if (figura==3)

{cout <<“valor de la base =“; cin >>a;

cout <<“valor de la altura =“; cin >>b;

Area=a*b/2.0;} else

{cout <<“figura equivocada“<<endl; Area=0;}

cout<<“El área de la figura es=“<<Area<<endl; return 0 ;}

(operadores lógicos) /*Operadores lógicos*/ #include <iostream.h> int main (void)

{

int a=5; int b=0;

(4)

int e=a||b; cout << e; // operador || OR int f=!a; cout << f; // operador ! NOT return 0;

}

Anidamientos de sentencias if

Se dice que una sentencia if-else está anidada cuando dentro de su formato general se encuentra otrassentencias if. Esto es;

if (condición 1) { if (condición 2) sentencia 1; } else sentencia 2;

Las llaves del código anterior indican que la cláusula else está emparejada con el primer if.

Cuando en el código de un programa aparecen sentencias if-else anidadas, y no existen llaves que definan claramente cómo emparejar los else y los if, la regla que se debe utilizar es que cada else corresponde con el if más próximo que no haya sido emparejado. Ejemplo: if (condición 1)

if (condición 2) sentencia 1; else

sentencia 2;

En el código anterior, la cláusula else corresponde al segundo 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 sangrado para señalar cada bloque.

Comparando los dos códigos inferiores, y mediante el sangrado, se puede seguir de forma clara qué está realizando el código. if (condición 1) if (condición 1) { { if (condición 2) if (condición 2) {sentencia 1;} {sentencia 1;} else } {sentencia 2;} else } {sentencia 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.

La sintaxis de esta sentencia es la siguiente: switch (expresión) { case expresión-constante 1: sentencia 1; break; case expresión-constante 2: sentencia 2; break; case expresión-constante 3: case expresión-constante 4: sentencia 3; break; default: sentencia n; break; }

Código de trabajo ( switch / break ) /*Sentencia tipo switch*/

#include <iostream.h> int main (void)

{ int i;

cout<<"de una opcion 1 2 o 3 "; cin>>i;

switch (i) {

case 1:

cout <<"opcion es 1"<<endl; break;

case 2:

cout <<"opcion es 2"<<endl; break;

case 25:

cout << "opcion es 25" << endl; default:

cout <<"opcion no es ni 1 ni 2"<<endl; break; } system("pause"); return 0; }

1-/* el programa pregunta dos números, que operación deseas hacer

y muestra el resultado*/ #include <iostream.h> int main (void)

{

double a, b; int c;

cout << “Introduzca el primer número” <<endl ; cin >> a; cout << “Introduzca el segundo número” <<endl ; cin >> b; cout << “Que operación deseas hacer, 1(suma), 2(producto)” <<endl ; cin >> c;

switch (c) {

case 1:

cout <<“el resultado es:”<<a+b<<endl; break;

default:

cout <<“el resultado es:”<<a*b<<endl; break;

}

return 0 ; }

(5)

#include <iostream.h> int main (void)

{

double a, b, Area; int figura;

cout<<”figura = rectángulo(1), triángulo(2)”<<endl; cout<<“¿que área quieres calcular?”<<endl; cin>>figura; switch (figura)

{ case 1:

cout <<“valor del lado menor =“; cin >>a;

cout <<“valor del lado mayor =“; cin >>b; Area=a*b; break;

case 2:

cout <<“valor de la base =“; cin >>a;

cout <<“valor de la altura =“; cin >>b; Area=a*b/2.0; break;

default:

cout <<“figura equivocada“<<endl; Area=0; break;

}

if (Area) cout<<“El área de la figura es=“<<Area<<endl; else cerr <<”error, la figura no tiene area”<<endl; return 0 ;

}

Sentencias tipo do-while

La sentencia do-while ejecuta una sentencia (simple o compuesta) una o más veces, dependiendo del

valor de una expresión. Su sintaxis es : do { sentencias ; } while (condición);

Nótese que la sentencia do-while finaliza con un ;

1-/* Sentencias tipo do-while */ #include <iostream.h> int main (void)

{

int i=0, j=6; do

{

cout<<"el número 6 es mayor que el"<<i<<endl; }

while (i++<j); return 0; }

2-/* Listar los 20 primeros números pares en orden decreciente*/

#include <iostream.h> void main (void) {

cout<<“lista de los 20 primero números pares en orden decreciente”<<endl; int i=22;

do {

i-=2; cout <<“numero par:“<<i<<endl; }

while (i>0); }

Sentencias tipo while

La sentencia while funciona de forma parecida al bucle do-while. La diferencia principal estriba en que el bucle do-while asegura que, al menos, se ejecuta una vez el código contenido entre las llaves; mientras que el while depende de la condición lógica. Su sintaxis es : while (condición) { sentencias; }

1-/* Sentencias tipo while */ #include <iostream.h> int main (void)

{ int i=0; while (i<6) {

cout<<"el número 6 es mayor que el "<<i++<<endl; }

return 0; }

2- /* Listar los 20 primeros números pares en orden decreciente*/

#include <iostream.h> int main (void)

{

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;

}

return 0 ; }

Referencias

Documento similar

4.- Másteres del ámbito de la Biología Molecular y Biotecnología (9% de los títulos. Destaca el de Biotecnología Molecular de la UB con un 4% y se incluyen otros

Pero cuando vio a Mar sacar el fuego de bajo su ala, voló de vuelta a su tribu a contarles lo que había visto.... Justo antes de que el sol saliera, Tatkanna se despertó y comenzó

o esperar la resolución expresa&#34; (artículo 94 de la Ley de procedimiento administrativo). Luego si opta por esperar la resolución expresa, todo queda supeditado a que se

Busqué, tal como lo vienen intentando los artistas, no quedar atrapada en etiquetas que distingan estilos o categorías fijas – circo tradicional, nuevo, contemporáneo – sino más

Esta formación se produce mediante el doctorado (13 alumnos, lo que significa el 32% de los encuestados), diferentes másteres entre los que destacan de nuevo el de Profesorado

37 El TPI, en los fundamentos jurídicos del 149 al 154 de la sentencia «Virgia- micina», examinó las dos actividades complementarias que integran la evaluación de riesgos:

¿Cómo se traduce la incorporación de ésta en la idea de museo?; ¿Es útil un museo si no puede concebirse como un proyecto cultural colectivo?; ¿Cómo puede ayudar el procomún

Asimismo una reflexión calmada sobre las intrincadas relaciones existentes en el péndulo que va del ODM 1 al ODM 8, debería conducirnos a observar por qué las formas mediante las