Вы находитесь на странице: 1из 41

Introduccin al Lenguaje de

Programacin C++

Departamento de Computacin
Escuela de Ingeniera de Sistemas
Facultad de Ingeniera
Universidad de Los Andes
Lenguaje de Programacin C
Fue diseado e implementado por Brian Kernighan y
Dennis Ritchie en 1972, a partir de los lenguajes BCPL
(1967) y B (1970). Su desarrollo est estrechamente
vinculado al del sistema operativo UNIX.

Combina caractersticas de los lenguajes de alto nivel


(sentencias de control y manipulacin de datos) y de los
lenguajes de bajo nivel (manejo de bits).

Es independiente del hardware.


Lenguaje de Programacin C++
Es una extensin de C inventado por Bjarne Stroustrup a
principio de la dcada de 1980 en los laboratorios Bell.

Es un lenguaje de programacin hbrido. Permite usar


tanto la tcnica de programacin estructurada y como la
tcnica de programacin orientada a objetos.
Enfoques de Programacin
Programacin estructurada (evolucion en los sesenta y
setenta)

Programacin orientada a objetos (OOP: Object-


Oriented Programming) (evolucion en los ochenta)
Programacin Estructurada
Programacin estructurada

Enfoque disciplinado que permite escribir programas estructurados,


utilizando las siguientes tres estructuras de control bien definidas:
Secuencial (asignacin, lectura, escritura)
Decisin o seleccin (simple, doble, mltiple)
Repeticin (repita-mientras, hacer-mientras, repita-para)

Los programas estructurados son fciles de probar, depurar y


modificar.

Programacin orientada a acciones donde la unidad bsica es la


funcin.
Programacin Orientada a
Objetos
Programacin orientada a objetos (POO)

Encapsula datos (atributos) y mtodos (comportamiento) en


objetos.
Objetos: Componentes de software reutilizables que
modelan cosas del mundo real (estudiantes, profesores,
materias, planetas, empresas, libros, plantas, etc.)

Los datos y mtodos de un objeto estn ntimamente


relacionados entre s.
Programacin Orientada a
Objetos
Programacin orientada a objetos (POO)
Programacin basada en objetos donde la unidad bsica es
la clase.

Clase: Consiste en atributos y funciones compartidas


por mas de un objeto.
Programacin Orientada a
Objetos
Programacin orientada a objetos (POO)

Ejemplo:

Clase:
Libro
Objetos:
- S.Braunstein.Introduccinalaprogramacinyalasestructurasde
datos.EUDEBA.1996.
H.Deitel.ComoprogramarenC/C++.PrenticeHall.1995.
K.Jamsa.C++.MexicoAlfaomega.1997.
Programacin Orientada a
Objetos
Programacin orientada a objetos (POO)
Ejemplo:

Clase:
Planeta
Objetos:
- Marte
LaTierra
Jpiter
Mercurio
Venus
Programacin Orientada a
Objetos
Programacin orientada a objetos (POO)
Maneja los conceptos de:

Encapsulamiento

Herencia

Ocultamiento de los datos

Abstraccin de los datos

Tipos de datos abstractos


Por qu Programacin
Estructurada ?
Vamos a estudiar en este curso la programacin
estructurada por las siguientes razones:

Los objetos se componen en parte de fragmentos de


programacin estructurada.

Los mtodos se implementan usando programacin


estructurada.
Lenguaje de Programacin C++
Caractersticas generales
Simple.
Sintaxis Flexible.
Flujo de control estructurado.
Tipos de datos variados.
Posibilidad de abstraccin de datos.
Amplia variedad de operadores.

Elementos sintcticos

Palabras clave
Identificadores
Delimitadores
Comentarios
Lenguaje de Programacin C++
Palabras clave o palabras reservadas

Aquellas que tienen un significado especial para el compilador y


que estn reservadas para uso especial del lenguaje de
programacin.

Palabras reservadas en C++


auto break case char const
continue default do double else
goto if float enum extern
forint long return register
short signed sizeof static struct
switch typedef union unsigned void
volatile while main scanf printf
Lenguaje de Programacin C++
Identificadores

Nombres que permiten sealar, mencionar o hacer referencia a


los diferentes objetos manipulados por un programa.

Deben resultar significativo, sugiriendo lo que representan.

No pueden ser palabras reservadas.

Los compiladores de C++ reconocen hasta un mximo de treinta


caracteres, aunque el identificador puede tener cualquier
longitud.
Lenguaje de Programacin C++
Identificadores

Se componen de una serie de caracteres que pueden ser


letras, dgitos o el carcter de subrayado (_).

El primer carcter NO PUEDE SER un dgito.

Las letras maysculas y las minsculas son diferentes.


Lenguaje de Programacin C++

Ejemplos:

Identificadores vlidos
A1, a1, sueldo_base, entero1, entero2, NOMBRES, nombres,
notas, Contador, P, Q, bandera_Venezuela

Identificadores invlidos
1A, 1a, #sueldo_base, 1_entero, +NOMBRES, ;Contador,
=bandera
Lenguaje de Programacin C++
Delimitadores

Signos especiales que permiten al compilador separar y reconocer


las diferentes unidades sintcticas del lenguaje.
; (punto y coma). Se considera el de terminacin, que es necesario cuando
finaliza cada una de las sentencias o declaraciones.
, (coma). Separa dos elementos consecutivos de una lista.
( ) (parntesis). Enmarca una lista de parmetros, expresiones o condiciones.
[ ] (corchetes). Enmarca la dimensin o el subndice de un arreglo.
{ } (llaves). Enmarca un bloque de sentencias o una lista de valores iniciales.
Lenguaje de Programacin C++
Comentarios

Permiten que el programador documente sus programas.


Sirven para facilitar la legibilidad de un programa. Son
ignorados por el compilador.

Tipos de comentarios
Comentarios iniciales: objetivo general del programa.
Comentarios en cada lnea: pasos cruciales del programa.
Lenguaje de Programacin C++
Comentarios

Caractersticas:

Deben ser coherentes con el programa.

Deben ser relevantes.

Deben mantenerse al da.

Siempre deben enriquecer el programa: conceptos, grficos,


relaciones entre partes, etc..
Lenguaje de Programacin C++
Comentarios en C

En C los comentarios empiezan por los caracteres /* y


terminan con los caracteres */.

Pueden comprender varias lneas y estar distribuidos de


cualquier forma, pero todo aquello que est entre el /*
(inicio del comentario) y el */ (fin del comentario) es
simplemente ignorado por el compilador.
Lenguaje de Programacin C++
Comentarios en C

/* Esto es un comentario simple. */


/* Esto es un comentario ms largo,
distribuido en varias lneas. El
texto se suele alinear por la izquierda. */

/****************************************
* Esto es un comentario de varias *
* lneas, encerrado en una caja para *
* llamar la atencin. *
*****************************************/
Lenguaje de Programacin C++
Comentarios en C++

En C++ se admite el mismo tipo de comentarios que en C,


pero adems se considera que son comentarios todo aquel
texto que est desde dos barras consecutivas (//) hasta el
fin de la lnea. Las dos barras marcan el comienzo del
comentario y el fin de la lnea, el final.

Si se desea poner comentarios de varias lneas, hay que


colocar la doble barra al comienzo de cada lnea.
Lenguaje de Programacin C++
Comentarios en C++

// Esto es un comentario simple.

// Esto es un comentario mas largo,


// distribuido en varias lneas. El
// texto se suele indentar por la izquierda.

//*************************************
// Esto es un comentario de varias *
// lneas, encerrado en una caja para *
// llamar la atencin. *
//*************************************
Programas en C++
Considere el siguiente programa escrito en C++:

// Ejemplo1
// Febrero, 2000
// Sumar dos valores a y b, asignar el resultado a c
void main()
{
int a, b, c; // Declaracin de variables locales
a = 3;
b = 5;
c = a + b; // Calcular la suma
}
Programas en C++
Las primeras tres lneas son comentarios: nombre del programa, fecha de
creacin y objetivo del programa.

El programa consiste de la funcin main


void main()
Todo programa debe tener una funcin main.

La llave que abre { indica el comienzo del cuerpo de la funcin, mientras


que la llave que cierra } indica el final del cuerpo de la funcin.
{
int a, b, c;
c = a + b;
}
Programas en C++
Esta lnea dice al compilador que tres variables enteras a, b y c
se van a usar en el programa. El compilador reserva espacio en
memoria para estas variables. Toda variable usada en un
programa debe ser declarada y se le debe asignar un tipo de
dato.
int a, b, c;
Sentencia ejecutables del programa son:
a = 3;
b = 5;
c = a + b;
Programa en C++

Nuestra primera funcin en C++

void main( )
{
Nuestro cdigo en C++ va aqui!
}
Programas en C++
Sintaxis formal 1
// Comentarios
Declaracin de importaciones
Definicin de constantes // Opcional
Definicin de tipos // Opcional
Declaracin de prototipos // Opcional
Declaracin de variables globales // Opcional
void main ( )
{
Declaracin de variables locales // Opcional
Declaracin de constantes locales // Opcional
Conjunto de sentencias // Cuerpo de la funcion
}
Definicin de funciones // Opcional
Programas en C++
Sintaxis formal 2
// Comentarios
Declaracin de importaciones
Definicin de constantes // Opcional
Definicin de tipos // Opcional
Declaracin de variables globales // Opcional
Definicin de funciones // Opcional
void main ( )
{
Declaracin de variables locales // Opcional
Declaracin de constantes locales // Opcional
Conjunto de sentencias // Cuerpo de la funcion
}
Recordar!!!!
Elementosdeunlenguajedeprogramacin
Unsublenguajeparadefinirlosdatos:
Qudatostenemos
Cmolesllamamos
Cmoson(tipoy/oestructura)
Qusepuedehacerconellos

Unsublenguajeparadefinirlosalgoritmos:
Qulehacemosalosdatos
Enquorden(cundoselohacemos)
Cuntasveces
Conjunto de sentencias
Estructuras de control

El proceso de diseo del algoritmo y posterior codificacin


del programa consiste en definir las acciones o sentencias
que resolvern el problema.

Por lo regular, en un programa las sentencias son


ejecutadas una despus de la otra, en el orden en que
aparecen escritas.
EstructurasdeControl
Programalineal:Lassentenciasse Programanolineal:Seinterrumpe
ejecutansecuencialmenteenel lasecuenciamediantesentencias
ordenenqueaparecenescritas. debifurcacin.

Sentencia1 Sentencia1
Sentencia2 Sentencia2
. ..
Sentencian Sentenciax
..
Sentencian
TiposdeEstructurasdeControl
Recordar!!!!!!
Laprogramacinestructuradautilizatresestructurasde
control.Todoslosprogramaspuedenserescritosen
trminosdeestasestructurasdecontrol(Bohmy
Jacopini)

Estructurassecuenciales
Estructurasdedecisinoseleccin
Estructurasderepeticin
EstructurasSecuenciales
Seejecutanensecuenciasinposibilidadquelasentencia
siguienteaejecutarpuedaserotradiferentedelaquesigueen
lasecuencia.

Tipodesentencia Pseudocdigo Pseudocdigo Cdigo


eninglsenespaol enCyC++
Comienzodeproceso begin inicio {
Findeproceso end fin }
Entrada(lectura) read leer scanf,cin
Salida(escritura) write escribir printf,cout
Asignacin A5 A5A=5A=5
Estructuras Secuenciales

Ejecucin
secuencial

. Puntodeentrada
. osalidanico
Estructura
secuencial
SentenciadeEntrada(Lectura)
Permiteleerdeterminadosvalores(datosdeentrada)y
asignarlosadeterminadasvariables.Losdatosdeentradase
introducenalacomputadoramediantelosdispositivosde
entrada(teclados,unidadesdedisco,etc.).
Notacinalgortmica
Leer(listadevariablesdeentrada)
Leer(a,b,c)

NotacinenC++
cin>>var1>>var2>>>>varn;
cin>>a>>b>>c;
SentenciadeSalida(Escritura)
Permiteescribirlosresultadosdeunprograma.Lasalida
puedeaparecerenundispositivodesalida(pantalla,
impresora,etc.)

Notacinalgortmica
Escribir(mensajesy/ovariablesdesalida)
Escribir(Elresultadoes,resultado)

NotacinenC++
cout<<mensaje<<var1<<
<<mensaje<<<<varn<<endl;
cout<<Elresultadoes<<resultado<<endl;
Ejemplo 1
// Flor Narciso - 16/02/2000
// Primer programa en C++

#include <iostream.h>
void main()
{ // Comienzo del programa principal
cout << Bienvenidos a la programacion en C++ !;
cout << endl; // Salta una linea
} // Fin del programa principal
Ejemplo 2
// Flor Narciso - 16/02/2000
// Segundo programa en C++

#include <iostream.h>
void main()
{ // Comienzo del programa principal
cout << Mi nombre es Flor Narciso << endl;
cout << Cual es el tuyo ? << endl;
} // Fin del programa principal
Ejemplo 3
// Flor Narciso - 16/02/2000
// Programa que dibuja los contornos de un cuadrado

#include <iostream.h>
void main()
{ // Comienzo del programa principal
cout << **** << endl;
cout << * * << endl;
cout << * * << endl;
cout << **** << endl;
} // Fin del programa principal
Ejemplo 4
// Flor Narciso - 16/02/2000
// Programa que dibuja un triangulo

#include <iostream.h>
void main()
{ // Comienzo del programa principal
cout << * << endl;
cout << *** << endl;
cout << ***** << endl;
} // Fin del programa principal

Вам также может понравиться