Professional Documents
Culture Documents
Cursos similares
Cursos
Valoracin
Alumnos
Vdeo
Introduccin al JavaScript
Javascript, uno de los lenguajes ms empleados en internet, le permitir construir webs
ms dinmicas y completas. con este curso gratis, mailxmail y el centro de...
[08/04/03]
43.540
Algoritmos y lenguaje C
Este curso pretende dar a conocer las explicaciones ms simples del trabajo de los
ordenadores.puedes descubrir cada paso que realizan, cmo lo realizan, qu es l...
[13/01/06]
2.840
4.171
2.859
10.434
1. Introduccin
[ http://www.mailxmail.com/curso-lenguaje-c-guia-programadores/introduccion ]
Los programas estructurados se basan en estructuras de control bien definidas,
bloques de cdigo, subrutinas independientes que soportan recursividad y variables
locales. La esencia de la programacin estructurada es la reduccin de un programa
a sus elementos constituidos.
La programacin orientada a objetos (POO), permite descomponer un problema en
subgrupos relacionados. Cada subgrupo pasa a ser un objeto autocontenido que
contiene sus propias instrucciones y datos que le relacionan con ese objeto. Todos
los lenguajes POO comparten tres caractersticas: Encapsulacin, Polimorfismo y
Herencia.
ENCAPSULACIN: Es el mecanismo que agrupa el cdigo y los datos que maneja.
Los mantienen protegidos frente a cualquier interferencia y mal uso. Cuando el
cdigo y los datos estn enlazados de esta manera se ha creado un objeto. Ese
cdigo y datos pueden ser privados para ese objeto o pblicos para otras partes del
programa.
POLIMORFISMO: Es la cualidad que permite que un nombre se utilice para dos o
ms propsitos relacionados pero tcnicamente diferentes. El propsito es poder
usar un nombre para especificar una clase general de acciones. Por ejemplo en C
tenemos tres funciones distintas para devolver el valor absoluto. Sin embargo en
C++ incorpora Polimorfismo y a cada funcin se puede llamar abs(). El Polimorfismo
se puede aplicar tanto a funciones como a operadores.
HERENCIA: Proceso mediante el cual un objeto puede adquirir las propiedades de
otro objeto. La informacin se hace manejable gracias a la clasificacin jerrquica.
OBJETO: Conjunto de variables y funciones pertenecientes a una clase
encapsulados. A este encapsulamiento es al que se denomina objeto. Por tanto la
clase es quien define las caractersticas y funcionamiento del objeto.
char f1(void);
char f1();
Otra diferencia entre C y C++ es que en un programa de C++ todas las funciones
deben estar en forma de prototipo, en C los prototipos se recomiendan, pero son
opcionales. Tambin si una funcin de C++ es declarada para devolver un valor
obligatoriamente la sentencia return debe devolver un valor, en C no es necesario
que se devuelva.
Otra diferencia es el lugar donde se declaran las variables locales. En C, deben ser
declaradas solo al principio del bloque, mientras que en C++ las variables se
pueden declarar en cualquier punto. Aunque es conveniente realizarlo siempre al
comienzo de la funcin.
4. Mi Primer Programa
[ http://www.mailxmail.com/curso-lenguaje-c-guia-programadores/mi-primer-programa]
Como ejemplo a lo anterior crearemos el primer programa utilizando objetos y
clases para ver la teora llevada a la prctica. Seguiremos utilizando las mismas
sentencias que usbamos en C, ms adelante los programas tomarn la estructura
exclusiva de C++.
#include <stdio.h>
#include <conio.h>
class miclase{
int a;
public:
void pasar_a(int num);
int mostrar_a();
};
void miclase::pasar_a(int num)
{
a=num;
}
int miclase::mostrar_a()
{
return a;
}
void main()
{
miclase obj1, obj2;
clrscr();
obj1.pasar_a(10);
obj2.pasar_a(99);
printf("%d\n",obj1.mostrar_a());
printf("%d\n",obj2.mostrar_a());
getch();
}
IDENTIFICADOR
oct
hex
scientific
showpoint
showpos
left
skipws
uppercase
DESCRIPCIN
Devuelve un entero en octal.
Devuelve un entero en hexadecimal.
Devuelve un nmero en formato cientfico.
Muestra 6 decimales aunque no sea necesario
Muestra el signo + en los valores positivos
Ajusta la salida a la izquierda.
Omite los espacios a la izquierda de la salida.
Muestra el texto en maysculas.
EJEMPLO:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
void main()
{
float num=200.0;
int num1=200;
clrscr();
cout<<num <<"\n";
cout.setf(ios::showpos|ios::showpoint);
cout<<num <<"\n";
cout.setf(ios::scientific);
cout<<num <<"\n";
cout.unsetf(ios::scientific|ios::showpoint|ios::showpos);
cout<<num <<"\n";
cout.setf(ios::hex);
cout<<num1 <<"\n";
10
11
12
13
14
15
EJEMPLO: Unidimensional.
#include <iostream.h>
#include <stdio.h>
16
17
18
EJEMPLO:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
class miclase{
int a;
public:
miclase(int x);
int get();
};
19
20
21
22
23
24
12. Referencias
[ http://www.mailxmail.com/curso-lenguaje-c-guia-programadores/referencias]
C++ consta de una particularidad relacionada con los punteros, denominada referencia
referencia. Una referencia es un puntero implcito que se comporta como una
variable normal siendo un puntero. Existen tres modos de utilizar una referencia. Se
puede pasar a una funcin, ser devuelta de una funcin y crearse como una
referencia independiente. Lo que apunta una referencia no puede ser modificado. El
caso de las referencias independientes es muy poco comn y casi nunca se utilizan,
en este manual no se hace referencia a ellas.
En el ejemplo siguiente se compara un programa que utiliza un puntero normal y
otro programa que realiza las mismas operaciones utilizando una referencia que se
pasa a una funcin.
EJEMPLO:
Utilizando punteros normal.
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void f(int *n);
void main()
{
int i=0;
f(&i);
cout<<"valor i:" << i;
getch();
}
void f(int *n)
{
*n=100;
}
Utilizando referencias.
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void f(int &n);
void main()
{
int i=0;
f(i);
cout<<"valor i:"<< i;
getch();
}
void f(int &n)
{
n=100;
}
En el caso de las referencias devueltas por una funcin se puede poner el nombre
25
26
13. Herencia
[ http://www.mailxmail.com/curso-lenguaje-c-guia-programadores/herencia]
Para empezar, es necesario definir dos trminos normalmente usados al tratar la
herencia. Cuando una clase hereda otra, la clase que se hereda se llama clase base.
La clase que hereda se llama clase derivada. La clase base define todas las
cualidades que sern comunes a cualquier clase derivada. Otro punto importante es
el acceso a la clase base. El acceso a la clase base pude tomar 3 valores, public,
private y protected.
Si el acceso es public, todos los atributos de la clase base son pblicos para la
derivada.
Si el acceso es private, los datos son privados para la clase base la derivada no
tiene acceso.
Si el acceso es protected, datos privados para la base y derivada tiene acceso, el
resto sin acceso.
EJEMPLO: para comprobar los distintos tipos de acceso.
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
class miclase{
int a;
protected:
int b;
public:
int c;
miclase(int n,int m){a=n;b=m;}
int obten_a(){return a;}
int obten_b(){return b;}
};
void main()
{
miclase objeto(10,20);
clrscr();
objeto.c=30;
// objeto.b=30; error,sin acceso.
// objeto.a=30; error,sin acceso.
cout<<objeto.obten_a() <<"\n";
cout<<objeto.obten_b() <<"\n";
cout<<objeto.c;
getch();
}
FORMATO DE LA CLASE DERIVADA:
class nombre_derivada:acceso nombre_base{
cuerpo;
};
EJEMPLO: Herencia pblica.
27
28
29
30
31
32
33
34
35
36
16. Ficheros
[ http://www.mailxmail.com/curso-lenguaje-c-guia-programadores/ficheros]
Para realizar E/S en archivos debe incluirse en el programa el archivo cabecera
fstream.h. Un archivo se abre mediante el enlace a un flujo. Tenemos 3 tipos de
flujo: de entrada, de salida o de entrada-salida. Antes de abrir un fichero debe
obtenerse el flujo. Los 3 flujos tienen funciones constructoras que abren el archivo
automticamente. Una vez realizadas las operaciones con los ficheros debemos
cerrar el fichero mediante la funcin close( ).
FLUJO
DESCRIPCIN
ofstream out De salida.
ofstream in De entrada.
fstream io
De salida-entrada.
En C++ podemos trabajar con 3 tipos de ficheros: secuencial, binario sin formato y
acceso aleatorio. Todos comparten el mtodo de apertura, pero cada uno de ellos
tienen mtodos propios para ir escribiendo y leyendo.
SINTAXIS:
flujo("nombre_fichero.extension");
EJEMPLO: Fichero secuencial.
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
ofstream out("fichero.tex");
if (!out)
{
cout << "El archivo no puede abrirse";
exit(1);
}
char cad[80];
cout << "Escritura de cadenas. Salir dejar en blanco\n";
do
{
cout<<": ";
gets(cad);
out << cad << endl;
}while(*cad);
out.close();
}
BINARIOS SIN FORMATO: Las funciones E/S son read()y write(). La funcin read() lee n u m
37
38
LUGAR DESCRIPCIN
ios::beg Desde el principio.
ios::end Desde el final.
ios::cur Posicin actual.
EJEMPLO: Fichero aleatorio. Escritura.
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
void main()
{
fstream out("texto1.txt",ios::in|ios::out);
if (!out)
{
cout << "El archivo no se puede abrir";
exit(1);
}
out.seekp(4,ios::beg);
out.put('z');
out.close();
}
39
17. Excepciones
[ http://www.mailxmail.com/curso-lenguaje-c-guia-programadores/excepciones]
Es un mecanismo de gestin de errores incorporado. Permite gestionar y responder a
los errores en tiempo de ejecucin. Las excepciones estn construidas a partir de
tres palabras clave: try, catch y throw. Cualquier sentencia que provoque una
excepcin debe haber sido ejecutada desde un bloque try o desde una funcin que
este dentro del bloque try.
Cualquier excepcin debe ser capturada por una sentencia cath que sigue a la
sentencia try, causante de la excepcin.
SINTAXIS:
try{
cuerpo;
}
catch(tipo1 arg){
bloque catch;
}
catch(tipo2 arg){
bloque catch;
}
catch(tipoN arg){
bloque catch;
}
EJEMPLO:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void main()
{
try{
cout<<"Dentro del bloque try\n";
throw 10;
cout<<"Esto se ejecuta si no hay problemas";
}
catch(int i){
cout<<"Capturado el error "<< i;
cout<<"\n";
}
cout << "fin";
getch();
}
40
Cursos similares
Cursos
Valoracin
Alumnos
Vdeo
Aprende a programar
Apende atravs de este curso los conceptos bsicos de la lgica computacional,
algoritmos, diagramas de flujo y su codificacin realizado en el lenguaje de
programacin, ...
[08/03/05]
13.634
11.768
5.277
10.434
4.171
41