jueves, 31 de enero de 2013

Introducción


C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales.

El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.

Aqui les dejo el instaldor del Borland C++
instalar.zip
devcpp-4.9.9.2_setup.exe

miércoles, 30 de enero de 2013

Hola mundo

para hacer el primer programa use algún editor de texto, y copie el siguiente codigo

#include <iostream>
using namespace std;
main()
{
   cout << "Hola mundo C++" << endl;
}

grabar como hola.cpp ahora abra una consola y ejecute el siguiente código
g++ hola.cpp
g++ es el compilador de linux para c++, este compilador generar un ejecutable con nombre a.out el cual lo ejecutaremos con :
./a.out


iostream es un componente de la biblioteca estándar (STL) del lenguaje de programación C++ que es utilizado para operaciones de entrada/salida. Su nombre es un acrónimo de Input/Output Stream. El flujo de entrada y salida de datos en C++ (y su predecesor C) no se encuentra definida dentro de la sintaxis básica y se provee por medio de librerias de funciones especializadas como iostream. iostream define los siguientes objetos:
cin : Flujo de entrada
cout : Flujo de salida
cerr : Flujo de error no almacenado.
clog : Flujo de error almacenado.
Todos los objetos derivados de iostream hacen parte del espacio de nombres std.


La instruccion using namespace especifica que los miembros de un namespace van a utilizarse frecuentemente en un programa. Esto permite al programador tener acceso a todos los miembros del namespace y escribir instrucciones mas concisas como:

cout << "Hola mundo C++" << endl;

Un programa escrito en lenguaje C++ está compuesto por una o más funciones. Como ya es sabido, una función es un programa que sirve para realizar una tarea determinada, por ejemplo, la función cin sirve para leer datos desde el teclado.

Existe una función que está presente en todos los programas escritos en lenguaje C++, su misión es marcar el inicio y fin de la ejecución de cada uno de ellos; es la función principal, la primera que se ejecuta; es la función main. Su sintaxis "básica" es:
main()
{
   <bloque_de_instrucciones>
}
La función main contiene al bloque de instrucciones principal de un programa, dentro de los caracteres abrir llave ({) y cerrar llave (}).

Los paréntesis "()" escritos después de main sirven para indicar que el identificador main es una función. Es importante comprender que main no es una palabra reservada de C. Ningún identificador de función lo es.

Finalmente, no podemos pasar por alto que delante de main se ha escrito la palabra reservada int; enseguida veremos el porqué.

En lenguaje C, las instrucciones, también llamadas sentencias, se pueden clasificar en:
De expresión.
De control.
Compuestas.
Una instrucción compuesta siempre alberga, entre llaves ({...}), a un <bloque_de_instrucciones>:
{
   <bloque_de_instrucciones>
}
Un bloque de instrucciones puede estar compuesto por una o más instrucciones, que, a su vez, pueden ser instrucciones de expresión, de control y/o compuestas nuevamente.

El cuerpo de toda función es una instrucción compuesta. Sirva como ejemplo el cuerpo de la función main, el cual alberga al bloque de instrucciones principal de un programa escrito en lenguaje C.

Las instrucciones de expresión, también conocidas como instrucciones simples o elementales, son aquellas que representan a las acciones más pequeñas (elementales) que se pueden ejecutar en un programa, y siempre van seguidas de un carácter punto y coma (;), el cual indica que la instrucción ha terminado:
<instrucción_de_expresión>;
Una instrucción de expresión es, en sí misma, una expresión. De modo que, la acción que se ejecuta es la evaluación de dicha expresión:
<expresión>
En cuanto a las instrucciones de control, existen de distintos tipos, y todas sirven para modificar el flujo de control de un programa. Veremos que, algunas de ellas deben ir seguidas del carácter punto y coma (;), pero otras no.



Variables

Las variables son estructuras de datos, que puede cambiar su valor según la situación deseada.


A toda variable que se use en un programa, se le debe asociar (generalmente al principio del programa) un tipo de dato específico.

Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa.

Los tipos de datos más comunes en C++ son:

TIPO DATO ESPACIO MEMORIA RANGO


Tipo Número de Bits
char       8
short       16
int       32
float        32
double 64


Para manejar cadenas de caracteres (strings), se debera usar un arregllo de caracteres con el siguiente formato.

Char nomstring[cant de elementos];
Ejemplo

char nombre[30];
char ciudad[20];

Para cargar con un dato se usa el siguiente codigo;

strcpy(carrera,"ing sistemas");

Variables arreglos de caracteres, tienen que usar sus funciones de manipulación que vienen en la libreria string.h, algunas de estas funciones son: strcpy(), strcat(), strcmp(), strlen(), etc.

martes, 29 de enero de 2013

cout y cin

Los objetos cout y cin, proporcionan la entrada y salida estándar de datos (teclado/pantalla). También está disponible cerr, similar a cout, usado para la salida estándar de errores. Estas clases tienen sobrecargados los operadores << y >>, respectivamente, con el objeto de ser útiles en la inserción/extracción de datos a dichos flujos. Son operadores inteligentes, ya que son capaces de adaptarse al tipo de datos que reciben, aunque tendremos que definir el comportamiento de dicha entrada/salida para clases/tipos de datos definidos por el usuario

Ejemplo 
Para calcular el area usaremos dos variables enteras (base,altura), el comando cin nos permite leer el numero ingresado por teclado


#include <iostream>
using namespace std;
main()
{

int base=0;
int altura=0;
int area=0;
cout << "==========================="<< endl ;
cout << "Ingrese la base :" ;
cin >>base;
cout << "Ingrese la altura :" ;
cin >>altura;
cout << "==========================="<< endl ;
area=base*altura;
    cout << "El area es :" <<area<< endl;
}


lunes, 28 de enero de 2013

if else

La instrucción if nos permite hacer comparaciones, veamos el ejemplo siguiente

#include <iostream>
using namespace std;
  
main()
{

int numero=0;
cout << "================="<< endl;
cout << "Ingrese un numero ";
cin >> numero;
if (numero >10)
{
cout << "Numero es mayor a 10 :"<< endl ;
}
    cout << "================="<< endl;
}


donde numero es la variable entera a ingresar, if (numero >10) compara si la variable numero es mayor a 10, en el caso de ser verdad se ejecutara todo el programa que este entre llaves.
para el if else usaremos el siguiente ejemplo

#include <iostream>
using namespace std;
  
main()
{

int numero=0;
cout << "================="<< endl;
cout << "Ingrese un numero ";
cin >> numero;
if (numero >10)
{
cout << "Numero es mayor a 10 :"<< endl ;
} else {
cout << "Numero es menor a 10 :"<< endl ;
}
    cout << "================="<< endl;
}

note que el ejemplo es muy similar al anterior con la diferencia de q usa el else en caso de no cumplir la condición.

domingo, 27 de enero de 2013

for

En lenguaje C++, para escribir una instrucción for (repetitiva para) se utiliza la sintaxis:
for ( <expresión_1> ; <expresión_2> ; <expresión_3> )
{
   <bloque_de_instrucciones>
}
Cuando el <bloque_de_instrucciones> sólo contiene una instrucción, los caracteres abrir llave ({) y cerrar llave (}) son opcionales.

Por otro lado, el bucle for es ideal usarlo cuando, de antemano, ya se sabe el número de veces (iteraciones) que tiene que ejecutarse un determinado bloque de instrucciones.

El bucle for es una variante del bucle while y, al igual que éste, puede iterar cero o más veces. Sin embargo, el bucle for sólo se suele usar cuando se conoce el número exacto de veces que tiene que iterar el bucle. Éste es el caso del problema planteado en el ejemplo 1 del apartado Instrucción while en C++, en el cual, se sabe de antemano que el bucle tiene que iterar, exactamente, diez veces.


#include <iostream>
using namespace std;
main()
{
for (int n=0; n<=10;n++){
  cout << n << endl;
}
}


sábado, 26 de enero de 2013

while



Ya dijimos en el post anterior que los ciclos infinitos for son muy parecidos a los ciclos while, pero quedó en duda cómo es un ciclo while.

While significa mientras, así que nuestro ciclo while se repetira mientras una cierta condición siga siendo verdadera.El ejemplo del post anterior quedaría así:
ejemplo 1

#include <iostream>
using namespace std;
main()
{
  int end=0;
  while(end!=5)
  {
cout << "Ingrese un numero ";
cin>>end;
  }
}

en este ejemplo el bucle while nos pedirá un numero siempre y cuando el numero ingresado anteriormente no sea igual a 5.

ejemplo 2
#include <iostream>
using namespace std;
  
main()
{
  int end=0;
  do
  {
cout << "Ingrese un numero";
cin>>end;
  }while(end!=5);
}

en este caso el do while ejecuta primero bloque_de_instrucciones y después la condición a diferencia del caso anterior