miércoles, 2 de junio de 2010

unidad 1, lenguaje de programacion c++

COMPOSICION


• Un programa en C++ está definido por funciones (grupo de instrucciones que pueden o no hacer algún cálculo), donde la función principal debe ser llamada main.

La composición general de un programa en C++ es:

• directivas de preprocesamiento.
• declaración globales.
• función main.
• funciones definidas por el usuario.
• 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 código 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
Esta directiva permitirá utilizar la función de lectura cin y la función de escritura cout propias de C++.
• #include
Esta directiva permitirá utilizar las funciones de lectura y escritura propias de C.
• Estas directivas también 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 declaración de región. El propósito de estos es localizar el nombre de identificadores para evitar colisiones.
• Para tener compatibilidad, cuando un programa en C++ incluye una librería de C, haremos uso del namespace.

Ejemplo:

• En C tenemos #include
• Con el respectivo en C++ #include
using namespace std;








DEGLARACIONES GLOBALES

• Las declaraciones globales son definiciones de variables o constantes que serán utilizadas por cualquiera de todas las funciones definidas en el programa.
• La sintaxis para la declaración de una variable es: Tipo var1, var2,..., var3; o bien
Tipo var1= valor, var2,..., var3;

FUNCION MAIN

• La función main( ), es obligatoria en cada programa C, C++.
• Indica el comienzo del programa y requiere los paréntesis ( ) a continuación de main( ).

FUNCION DEFINICION DEL USUARIO

• La definición de una función se realiza escribiendo primero el tipo del valor de retorno de la función, después el nombre de la función, posteriormente entre paréntesis las variables que utilizará dicha función (parámetros) y finalmente las instrucciones de la función. Ejemplos:

double promedio( int a, int b, int c)
{
return (a + b + c ) / 3.0;
}
Declara a la función promedio, la cual recibe tres valores enteros y calcula y regresa el promedio de ellos.

COMENTARIOS
Los comentarios pueden escribirse utilizando alguna de las siguientes formas:

1. comentando en la misma línea, utiliza //, ejemplo
int edad; // la edad se utilizará como un valor entero.
2. comentando entre varias líneas, utiliza /* */, ejemplo:
/* La siguiente función promedio recibe tres valores enteros
y calcula y regresa el promedio de los tres a través de un valor real */
TIPOS DE DATOS

Los tipos de datos que maneja C++ son :
• Enteros
Dentro de los enteros están los tipos: short, int, long, los cuales varían en rango de acuerdo al compilador que se utilice, siendo long rango mayor y short el de menor.
• Flotantes Dentro de los flotantes C++ tiene los tipos: float, double y long double donde al igual que los enteros varía 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 carácter en C++ se utilizan apóstrofes.

Ejemplos: ‘a’, ‘b’ , ‘5’
Para representar una cadena de caracteres se utilizan las comillas.

Ejemplo: “soy una cadena

ESTATUS DE LECTURA

• El archivo de cabecera iostream.h de la biblioteca de C++ proporciona un flujo de entrada estándar cin y un operador de extracción >>, para extraer valores del flujo y almacenarlos en variables.

Sintaxis del estatuto cin
cin >> Lista de variables;
donde Lista de variables puede ser una o más variables separadas por >>

Ejemplos:

cin >> a >> b; // estamos esperando la entrada de dos valores del tipo
// definido en la declaración de a y b.
cin >> num; // estamos esperando la entrada de un solo valor.
cin >> Precio_venta // estamos esperando la entrada de un solo valor
// del tipo definido en la declaración de
// Precio_venta

ESTATUS DE ESCRITURA

• El archivo de cabecera iostream.h de la biblioteca de C++ proporciona un flujo de salida estándar cout y un operador de extracción <<, que normalmente se manda a la pantalla del usuario.

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  // mensaje y el valor de la // variable resul.
• Los operadores de extracción e inserción, >> y <<, apuntan en la dirección del flujo de datos.
• Recordemos que para poder utilizar el estatuto cin y cout se requiere la directiva #include .
• Existen caracteres especiales que pueden ser usados con el cout dentro de comillas. Entre ellos están:
\ n realiza un cambio de línea equivalente a usar endl.
\ t tabulador.
\ a sonido de la campana.
\ “ comilla doble.
\ ‘ comilla simple.

Ejemplos:

cout << "Nombre " << "\t" ; // despliega el mensaje Nombre, realiza un // tab ahí quedará el cursor
cout << "El resultado es " << resul << endl; // despliega el letrero, el  // valor de la variable resul // y brinca a la siguiente // línea donde quedara el // cursor.

DECLARACIONES

• La declaración de una variable es un estatuto que proporciona información de la variable al compilador de C++.
• La sintaxis para la declaración de una variable es: tipo variable
tipo.- es el nombre de un tipo de dato conocido por C++.
variable.- es un identificador (nombre) válido en C++.

RECLAS PARA NOMBRES DE VARIABLES

• Deben empezar con letra o underscore
• Pueden contener letras, números y underscore
• Las letra mayúsculas y minúsculas son diferentes para C++
• Es importante declarar las variables antes de utilizarlas. Se puede declarar una variable en dos lugares dentro de un programa:

a). Al principio de un archivo o bloque de código.
b). En el punto de utilización.
• Las variables se pueden inicializar a la vez que se declaran, o bien, inicializarse después de la declaración. El primer método es probablemente el mejor, ya que se combina la definición de la variable con la asignación de su valor inicial.

DECLARACIONES O DEFINICIONES

• La diferencia entre declaración y definición es sutil.
• Una declaración introduce un nombre de un objeto o de una variable y asocia un tipo con la variable/objeto.
• Una definición es una declaración que asigna simultáneamente memoria al objeto/variable.

Ejemplos:

int x; // declara el nombre de la variable x de tipo entero.
char var; // declara var de tipo carácter.
int i; // declara el nombre de la variable i de tipo entero.
int i = 0; // define i inicializa la variable i entera a cero.

Ejemplos:

• int edad;
Esta declaración indica que la variable edad definida como un valor entero puede ser utilizada en cualquier función.
• double venta = 0.0; Esta declaración presenta la declaración de una variable como valor doble a la cual se le da un valor inicial y puede ser usada en cualesquier función.
• char nombre[30]; Esta declaración es para declarar una variable de tipo cadena de caracteres.

FUNCIONES DEFINIDAS POR EL USUARIO
• Un programa en C++ se forma por una colección de funciones.
• Todos los programas se construyen a partir de una o más funciones que se integran para crear una aplicación.
• Todas las funciones contienen uno o más estatutos C++ y se crean generalmente para realizar una única tarea.
• La definición de una función se realiza escribiendo primero el tipo del valor de retorno de la función, después el nombre de la función, posteriormente entre paréntesis las variables que utilizará dicha función (parámetros) y finalmente las instrucciones de la función.
• Las funciones definidas por el usuario se invocan por su nombre y los parámetros opcionales que se puedan tener.
• Todas las funciones tienen nombre y una lista de valores que recibe. Se puede asignar cualquier nombre a la función, pero normalmente se procura que dicho nombre describa el propósito de la función.
• Una declaración de función indica al compilador el nombre de la función que se está invocando en el programa. Si la función no se defina, el compilador informa de un error.
• Por ejemplo:
double promedio( int a, int b, int c)
{
return (a + b + c ) / 3.0;
}
Declara a la función promedio, la cual recibe tres valores enteros y calcula y regresa el promedio de ellos.
int suma( int a, int b)
{
return (a + b);
}
Declara a la función suma, la cual recibe dos valores enteros y calcula y regresa la suma de ellos.

Unidad 2, lenguaje de programacion C++



INSTALACION COPILADOR


• Una vez creado un programa en C++, se debe ejecutar. ¿Cómo realizar esta tarea?. Los pasos a dar dependerán del compilador C++ que utilice. sin embargo, en general serán similares a los siguientes pasos:
• Utilizar un editor de texto para escribir el programa y grabarlo en un archivo.
• Compilar el código fuente.
• Enlazar el código objeto con las bibliotecas correspondientes.

Para crear un programa se utilizan las siguientes etapas:


• Definir su programa.
• Definir directivas del procesador.
• Definición de declaraciones globales.
• Crear main( ).
• Crear el cuerpo del programa.
• Crear sus propias funciones definidas por el usuario.
• Compilar, enlazar, ejecutar, y comprobar su programa.
• Utilizar comentarios.

PROCESO DE COPILACIN DE UN PROGRAMA


• En esta etapa se traduce el código fuente escrito en lenguaje C++ a código máquina (entendible por la computadora).
• El programa que realiza esta traducción se llama compilador.
• Cada compilador se construye para un determinado lenguaje de programación por ejemplo C++.
• Cada lenguaje de programación tiene unas reglas especiales para la construcción de programación que se denomina sintaxis.
• El compilador lee el programa del archivo de texto creado y comprueba que el programa sigue las reglas de sintaxis del lenguaje de programación.
• Cuando se compila su programa, el compilador traduce el código fuente C++ en un código máquina (código objeto).
• El código objeto consta de instrucciones máquina e información de cómo cargar el programa en memoria antes de su ejecución
• Si el compilador encuentra errores, los presentará en la pantalla, una vez corregidos los errores con ayuda del editor se vuelve a compilar sucesivamente hasta que no se produzcan errores.
• El código objeto que se obtiene se almacena en un archivo independiente, normalmente con al extensión .obj
• El archivo objeto contiene sólo la traducción del código fuente, esto no es suficiente para ejecutar realmente el programa.
• Es necesario incluir los archivos de biblioteca.
• Normalmente un programa consta de diferentes unidades o partes de programa que se han compilado independientemente. Por consiguiente, puede haber varios archivos objetos.
• Un programa especial llamado enlazador toma el archivo objeto y las partes necesarias de la biblioteca y construye un archivo ejecutable. Los archivos ejecutables tienen un nombre con la extensión .exe
• Este archivo ejecutable contiene todo el código de máquina necesario para ejecutar el programa.


OPERACIONES BASICA

• Los programas en C++ constan de datos, sentencias de programas y expresiones.
• La mayoría de los programas en C++ realizan operaciones básicas, a través de un conjunto potente de operadores, que usándolos correctamente aumenta la expresividad y eficiencia del lenguaje.

Operador de Asignación

• El operador = asigna el valor de la expresión derecha a la variable situada a su izquierda.

Sintaxis:
Variable = valor;
donde valor puede ser una constante, una variable o una expresión.

• En C++ es válido usar el siguiente operador de asignación:
a = b = 7;
el cual se evalúa de izquierda a derecha.

Ejemplo:

x = 125; promedio = 75.8; opción = ‘s’;





OPERACIONES ARIDMETICA

• 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 división entre dos números enteros, el operador / regresa el cociente de la división entera; es decir, regresa la parte entera del resultado (si hay fracción 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 más amplio y el tipo del valor resultante es del tipo más amplio. Por ejemplo, si hay enteros y flotantes, todos los números se convierten a flotantes y el resultado se calcula como flotante.

por ejemplo:

4/3.0 da como resultado 1.33333

• El operador % calcula el residuo de la división entera y sólo existe para datos de tipo entero.

por ejemplo:

10%3 da como resultado 1

• En C++ existen también los siguientes operadores aritméticos:

++ incremento
-- decremento
Es decir:
x++ ó ++x es equivalente a x = x+1
x- - ó - -x es equivalente a x = x - 1

• Estos operadores son unitarios, es decir, trabajan con un solo operando y solamente se pueden utilizar con variables de tipo entero

Los operadores se pueden utilizar antes o después del nombre de la variable y funcionan de diferente manera:

• Si se ponen antes, primero se realiza la operación (incremento o decremento) y luego se utiliza el valor de la variable en la expresión en la que se encuentre.
• Si se pone después, primero se utiliza el valor de la variable en la expresión y luego se lleva a cabo la operación (incremento o decremento).

Por ejemplo:
Supón que a = 10 y c = 4
La operación v = a * c++; v toma el valor de 40 y c queda con  el valor de 5 La operación v = a * ++c; v toma el valor de 50 y c queda con  el valor de 5

FUNCIONES MATEMATICAS PREDEFINIDAS

• C++ contiene una serie de funciones matemáticas que puedes utilizar en tus programas, algunas de las funciones matemáticas disponibles son:
• Matemáticas.
• Trigonométricas.
• Logarítmicas.
• Exponenciales.

FUNCIONES MATEMATICAS

• Algunas de las funciones matemáticas usuales en la biblioteca estándar son:
abs(x) obtiene el valor absoluto de x, x debe ser entero
sqrt(x) obtiene la raíz cuadrada de x, x debe ser positivo
pow(x,y) calcula x elevado a la potencia y, pueden ser enteros o flotantes
ceil(x) redondea al entero más cercano
floor(x) redondea por defecto al entero más próximo

FUNCIONES TRIGONOMETRICAS

• C++ incluye una serie de funciones que sirven para realizar cálculos trigonométricos, algunas de estas funciones son:
cos(x) calcula el coseno del ángulo x (x se expresa en radianes)
sin(x) calcula el seno del ángulo x (x se expresa en radianes)
tan(x) devuelve la tangente del ángulo x (x se expresa en radianes)
atan(x) calcula el arco tangente del argumento x

FUNCIONES LOGARICMICAS Y EXPOTENCIALES

• Las funciones logarítmicas y exponenciales suelen ser utilizadas con frecuencia no sólo en matemáticas, sino también en el mundo de las empresas y los negocios. Algunas de estas funciones son:

log(x) calcula el logaritmo natural del argumento x
log10(x) calcula el logaritmo decimal del argumento x
exp(x) calcula el exponencial ex, donde e es la base de
logaritmos naturales de valor 2.718282
• El uso de las funciones vistas anteriormente requieren de la librería

CONTRUCCION DE EXPRECION

• Una expresión es, normalmente, una ecuación matemática, tal como 3 + 5. en esta expresión, el símbolo más (+) es el operador de suma, y los números 3 y 5 se llaman operandos.
• En síntesis, una expresión es una secuencia de operaciones y operandos que especifica un cálculo.
• Una expresión es un elemento de un programa que toma un valor, en algunos casos puede también realizar una operación.
• Las expresiones pueden ser valores constantes o variables simples, tales como 25 o ‘z’; pueden ser valores o variables combinadas con operadores; o bien pueden ser valores combinados con funciones como toupper(‘b’), el cual convierte el argumento ‘ b’ a mayúscula.

Por ejemplo:

Expresión para saber si un número es par: (num % 2 == 0)
Expresión para saber si un número A está en el rango 5 a 300 incluyendo los extremos  (num >= 5) && (num <= 300)

Unidad 3, lenguaje de programacion C++

Unidad3
View more presentations from JHONNY.


                          UNIDAD NUMERO 3 DEL CURSO VIRTUAL C++




CONDICIONES SENCILLAS

Estructuras de control

• Las estructuras de control controlan el flujo de un programa o función.
• Permiten combinar instrucciones o sentencias individuales en una simple unidad lógica con un punto de entrada y un punto de salida.

Estatuto if

• En C++, la estructura de control de selección principal es un estatuto if.
• El estatuto if tiene dos alternativas o formatos posibles

Ejemplo:

Calcular el mayor de dos números leídos del teclado y visualizarlos en pantalla.
void main()
{
int a, b;
cout << “introduzca dos números enteros”;
cin >> a >> b;
if (a > b)
cout << a << endl;
else
cout << b << endl;
}

Sintaxis

if ( condición)
estatuto;

En caso de requerir más de un estatuto es necesario usar llaves.

if ( condición)
{
bloque de estatutos;
}
Ejecución del if

• El estatuto se ejecuta de la siguiente manera. Cuando se alcanza la estructura if dentro de un programa, se evalúa la condición. Si la condición es verdadera, se ejecuta el estatuto o conjunto de estatutos; en caso de que sea falsa se brinca el estatuto o estatutos.

Por ejemplo:
if (num % 3)
cout << “es divisible entre 3”

Estatuto if de dos alternativas: if – else

if ( condición )
estatuto;
else
estatuto;
En caso de requerir mas de un estatuto es necesario usar llaves
if ( condición )
{
bloque de estatutos;
}
else
{
bloque de estatutos;
}

Ejecución del if – else

La estructura de selección if / else , ejecuta la(s) accion(es) después de la parte if cuando la condición es verdadera; en caso de que sea falsa ejecuta la(s) acción(es) que está(n) después del else.

Ejemplo

if (promedio >= 70)
cout << " Aprobado";
else
cout << "Reprobado";







ESTATUS SWITCH

• El estatuto switch es una sentencia C++ que se utiliza para seleccionar una de entre múltiples alternativas.
• El estatuto switch es especialmente útil cuando la selección se basa en el valor de una variable simple o de una expresión simple denominada expresión de control o selector.
• El valor de esta expresión puede ser de tipo int o char, pero no pude ser del tipo float ni double.
• Se utiliza para ejecutar acciones diferentes según el valor de una expresión o una variable. Consiste en una serie de etiquetas case y un case por omisión default.

Sintaxis:

switch ( variable) la variable es de tipo entero o caracter
{
case valor1 : accion1; break;
case valor2 : accion2; break;
case valor n : accionn;break;
default: accionD;
} ;
La acción 1 se ejecuta si la variable adquiere el valor1.
La acción 2 se ejecuta si la variable adquiere el valor 2.
La acción n se ejecuta si la variable adquiere el valor n.

Cualquier otro valor de la variable conduce a la realización de la secuencia accionD, indicada por la palabra reservada default.
La secuencia default puede omitirse


Estatuto break
• Cuando se encuentra una sentencia case que concuerda con el valor del switch se ejecutan las sentencias que le siguen y todas las demás a partir de ahí, a no ser que se introduzca una sentencia break para salir de la sentencia switch.

Ejemplo: Dada una fecha con números, muestra la fecha poniendo el mes con letras.

#include
int dia, mes, anio;
char resp;
void main()
{
cout<<"Teclea el dia"<
cin>>dia;
cout<<"Teclea el mes"<
cin>>mes;
cout<<"Teclea el anio"<
cin>>anio;
cout<
case 2: cout<<"Febrero"; break;
case 3: cout<<"Marzo"; break;
case 4: cout<<"Abril"; break;
case 5: cout<<"Mayo"; break;
case 6: cout<<"Junio"; break;
case 7: cout<<"Julio"; break;
case 8: cout<<"Agosto"; break;
case 9: cout<<"Septiembre"; break;
case 10: cout<<"Octubre"; break;
case 11: cout<<"Noviembre"; break;
case 12: cout<<"Diciembre"; break;
default: cout<<"ERROR";
};
cout<<" de "<

Ejemplo: Programa que pide un número de mes y escribe la cantidad de días que

tiene.

#include
int mes;
void main()
{
cout<<"Teclea el mes"<
cin>>mes;
(continua)
switch (mes)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: cout<<"31 dias"<
break; // días, y al encontrar el break sale del switch, si no fue ninguno sigue revisando
case 2: cout<<"28 o 29 dias"<
break;
case 4:
case 6:
case 9:
case 11: cout<<"30 dias"<
default: cout<<"ERROR";
};
}


CONDICIONES ANALITICAS

Estatutos if ´s anidados
• Los estatutos if implementan decisiones que implican una o dos alternativas, un estatuto if es anidada cuando la sentencia de la rama verdadera o la rama falsa es a su vez una sentencia if.
• Un estatuto if anidada se puede utilizar para implementar decisiones con varias alternativas o multi-alternativas

Sintaxis:
if (condición1)
estatuto1
else
if (condición2)
estatuto2
else
if (condiciónn)
estatuton
else
estatutoe

Si tenemos el siguiente fragmento de código:

if (condición 1)
if (condición 2)
estatuto;else // este else pertenece al if de la condición 2, pues se// se asocia al if más cercano
estatuto;
Si queremos que el else pertenezca al primer if debemos poner:
if (condición 1)
{
if (condición 2)
estatuto;
}
else // con el uso de llaves cerramos el if anidado y el else
estatuto; // pertenece al primer if

Ejemplo:

Determinar si un número es cero, positivo o negativo.
if (num == 0)
cout << " El número es cero";
else
if (num > 0)
cout << " El número es positivo";
else
cout << " El número es negativo";

Ejemplo I: Programa que lee 3 números enteros diferentes y los despliega de mayor a menor.

#include
/* Declaración de variables globales */
int a,b,c;
int main()
{
cout << "Dame los 3 numeros "<< endl;
cin >> a >> b >> c;
if (a > b)
if ( b > c)
cout <
else
if (c > a)
cout <
else
cout <
if ( a > c) {
if ( b > a)
cout <
}
else
if ( b > c )
cout <
else
if (c > b) {
if (b > a)
cout <
}
system ("pause");
return 0;
}





unidad 4, lenguaje de programación C++



Estatuto while


          Un ciclo es cualquier construcción de programa que repite una sentencia o secuencia de sentencias un número de veces.
         La sentencia o grupo de sentencias que se repite en un bloque se denomina cuerpo del ciclo y cada repetición del cuerpo del ciclo se llama iteración del ciclo.
Estatuto while

         Un ciclo while tiene una condición del ciclo, una expresión lógica que controla la secuencia de repetición.
         La posición de esta condición del ciclo es delante del cuerpo del ciclo y significa que un ciclo while es un ciclo de preverificación de modo que cuando se ejecuta el mismo, se evalúa la condición antes de que se ejecute el cuerpo del ciclo.

 Sintaxis
   while ( condición )    
                estatuto;

         Si se requiere realizar más de un estatuto se deben utilizar llaves.    
   
     while ( condición )    
         {
               bloque de estatutos;
          }

  Aquí se ejecuta el (los) estatuto (s) mientras la condición es verdadera; al momento de ser falsa termina el ciclo.
     Si la condición es falsa la primera vez nunca se
     ejecuta(n)  el (los) estatuto(s).

Ejemplos: Ejemplo I: Programa que pide 10 números y calcula y muestra la suma de todos los que fueron pares.
    #include

    int suma=0, cont= 10, num;
    int main()
    {
      while (cont > 0)
     {
        cout << "Dame el numero " << endl;
        cin >> num;
        if (num % 2 == 0 )       // verificamos que sea un número par
           suma += num;          // recordemos que suma+= num es equivalente a suma = suma + num (ver modulo1 sección 3) 
        cont--;
      }
      cout << "La suma de los numeros pares proporcionados es " << suma << endl;
      return 0;
    }
Ejemplo II : Obtener el promedio de calificaciones de un grupo de 20 estudiantes
#include

int total, contador, calif;
double promedio;

int main()
{
       total = 0;
       contador = 1;
       while (contador <= 20 )
       {
          cout<<" Dame la calificacion "<
          cin >> calif;
          total = total + calif;
          contador ++;
       }
       promedio = total / 20.0;
       cout<<"El promedio es "<< promedio<
       return 0;
}            

Estatuto do – while

         El estatuto do-while se utiliza para especificar un ciclo condicional que se ejecuta al menos una vez.
         Este ciclo se presenta en algunas circunstancias en las que se ha de tener la seguridad de que una determinada acción se ejecutara una o más veces, pero al menos una vez.

Sintaxis
   do
        estatuto;
   while ( condición );   

         Si se requiere realizar más de un estatuto se deben utilizar llaves.

       do
      {

                bloque de estatutos;
         }

    while ( condición );       // nota que lleva ;    

         Se realizan los estatutos y se verifica la condición,  mientras sea verdadera se sigue ejecutando; al momento de ser falsa termina el ciclo.
         Dado que la condición se revisa al final del ciclo el (los) estatuto(s)
     se realizan al menos una vez a diferencia del while

Ejemplo I: Dado un número de tipo long decir cuántos dígitos tiene

    #include
    long num;
    int cant = 0, x;

    int main()
    {
       cout<<"Teclea un numero ";
       cin>>num;
       x = num;   // guardo el numero en otra variable para no perderlo (por si luego lo ocupo)
       do
       {
          x = x / 10;
          cant++;
       } while (x > 0);
       cout<<"El numero tiene "<<<" digitos"<
       return 0;
    }

Ejemplo II: Validar que un número dado esté en el rango de 10 a 20.
   #include

    int num;

    int main()
    {
     do
     {
        cout << "Dame el numero " << endl;
        cin >> num;
      }
      while ( (num <10) || (num > 20) );
      cout << "Numero dentro de rango" << endl;
      return 0;
    }

donde si la condición es falsa la primera vez no se ejecuta lo que esté dentro del

ESTATUTO FOR

         El estatuto for es un método para ejecutar un bloque de sentencias un número fijo de veces.
         El ciclo for se diferencia del ciclo while, do- while en que las operaciones de control del ciclo se sitúan en un solo sitio: la cabecera de l estatuto.

    Sintaxis

         for (inicialización ; condición ; incremento )
                 estatuto;

         El estatuto for es un método para ejecutar un bloque de sentencias un número fijo de veces.
         El ciclo for se diferencia del ciclo while, do- while en que las operaciones de control del ciclo se sitúan en un solo sitio: la cabecera de l estatuto.

    Sintaxis

         for (inicialización ; condición ; incremento )
                 estatuto;
         Si se requiere realizar más de un estatuto se deben utilizar llaves.

     for (inicialización ; condición ; incremento )
        {
              bloque de estatutos;
        }

         Funcionamiento del For

  1. Ejecuta el o los estatutos de inicialización
  2. Evalúa la condición, si es verdadera entra al ciclo
  3. Ejecuta el o los estatutos
  4. Incrementa o decrementa el o los estatutos de
      inicialización y regresa al paso 2

Notas sobre el for

         Las 3 partes del for son opcionales, si no se pone condición se toma como verdadero.

         Si no se incluye la inicialización o condición, la condición y el incemento o decremento deben de ir.
        Ejemplo:  for ( ; a > 10 ; a--)

         Si la primera vez la condición es falsa no se ejecuta ningún estatuto y termina el for

         Si se pone más de una inicialización o acción, estas deben ir separadas por coma
       Ejemplo: for ( x=0, y= 3; x < 4 ; x++ )

         Una variable puede declararse en la sección de inicialización, solo hay que tomar en cuenta que esta variable solo es reconocida dentro del ciclo.

               Ejemplo:  for (int num = 1; num < = 10; num++)

Ejemplo I: Mostrar los 30 primeros números de la serie de Fibonacci. La serie es 1,1,2,3,5,8,13....

     #include
   long a, b, fibo;     //los defino long porque se generan numeros muy grandes
   int i;

   int main()
  {
     a = 1;
     b = 1;

     for (i = 3; i<= 30; i++)   // empiezo i en 3 porque ya mostre los 2 primeros
      {
              fibo = a + b;
              cout<<<"\t";
              a = b;
              b = fibo;
       }
     return 0;
   }

Ejemplo II: Sumar todos los números nones desde 1 hasta 30

   #include

   int num, suma = 0;

   int main()
  {
     for (num = 1; num <= 30; num+=2)   // incremento de 2 en 2 para asegurar          
       suma += num;                                  // números nones
     cout << " La suma es " << suma;
     return 0;
   }


CICLO INFINITO

Ciclo infinito

         Cuando en un ciclo la condición siempre es verdadera se dice que es un ciclo infinito, pues nunca saldrá del ciclo y el programa no termina. Para evitarlos hay que estar seguros que en el bloque de estatutos haya un estatuto que modifique el valor de la condición de tal modo que llegue a ser falsa.

Ejemplo I

  while ( calificacion != -1)
         total = total + calificacion;         // dado que no hay llaves la lectura del número
   contador ++;                                   // no se realiza y el valor de la calificación no
   cout << "Da un -1 para terminar el ciclo" << endl;     // cambia, por ende la              
   cin >> calificacion        // la condición siempre es verdadera                           

Ejemplo II

   cont = 6;
   a = 10;
   while ( cont > 1)
   {
        suma = suma + cont;                   
        a--;                            
        cont++;           // cont cada vez es mayor por lo que
                               // siempre será mayor a 1
    }