Beruflich Dokumente
Kultur Dokumente
El lenguaje de programacin C fue desarrollado por Dennis Ritchie de AT&T Bell Laboratories
en la dcada de los 70. El primer uso que se le dio fue para escribir y dar mantenimiento al sistema
operativo UNIX. C y UNIX se complementaron tanto que pronto no slo los programas de
sistemas, sino casi todos los programas comerciales que corran en UNIX se escribieron en lenguaje
C, y se volvi tan popular que las versiones del lenguaje se escribieron para otros sistemas operativos
populares. Sin embargo, a pesar de su popularidad, C no est libre de defectos.
El lenguaje C es peculiar debido a que es un lenguaje de alto nivel, con muchas caractersticas de
uno de bajo nivel. C se encuentra entre los extremos de un lenguaje de muy alto nivel y uno de bajo
nivel, por lo que tiene tanto sus fortalezas como sus debilidades. Como el lenguaje ensamblador (bajo
nivel), los programas en C pueden manipular directamente la memoria de la computadora. Por otra
parte, C tiene muchas caractersticas de un lenguaje de alto nivel, lo que facilita la lectura y escritura
ms que en el lenguaje ensamblador. Esto hace que C sea una excelente opcin para escribir
programas de sistemas, pero para otros programas (y en cierto sentido incluso para programas de
sistemas) C no es sencillo de entender, como otros lenguajes; adems, no cuenta con muchas
verificaciones automticas, como otros lenguajes de alto nivel.
Para superar las deficiencias de C, Bjarne Stroustrup de AT&T Bell Laboratories desarroll
C++ a principios de la dcada de los 80. Stroustrup dise C++ para que fuera un mejor C. Casi
todo C es un subconjunto de C++, por lo que la mayora de los programas en C tambin son
programas de C++ (lo contrario no aplica; muchos programas en C++ no son, en definitiva,
programas en C). A diferencia de C, C++ cuenta con recursos para la programacin orientada a objetos,
que es una tcnica de programacin recientemente desarrollada y muy poderosa.
2. Introduccin a C++.
Un programa bien diseado se construye utilizando una filosofa similar a la usada para edificar
un edificio bien diseado: no slo sucede; depende de una planeacin y ejecucin cuidadosa si el
diseo final ha de cumplir su propsito pretendido.
Cada mdulo est diseado y desarrollado para realizar una tarea especfica y en realidad es un
subprograma pequeo en s mismo. Un programa C++ completo se construye combinando tantos
mdulos como sea necesario para producir el resultado deseado. La ventaja de la construccin
modular es que el diseo general del programa puede desarrollarse antes de escribir cualquier mdulo
individual. Una vez que se finalizan los requerimientos para cada mdulo, los mdulos pueden
programarse e integrarse dentro del programa general conforme se completan.
En C++, los mdulos pueden ser clases o funciones. Se pueden pensar en una funcin como
una mquina pequea que transforma los datos que recibe en un producto terminado. Por ejemplo, la
Figura N 1 ilustra una funcin que acepta dos nmeros como entradas y multiplica los dos nmeros
para producir una salida. Como se muestra, la interfaz para la funcin son sus entradas y resultados.
El proceso de convertir las entradas en resultados se encapsula y oculta dentro de la funcin. A este
Ing. Zoraida Yanet Vidal Melgarejo, Mg. -1-
Universidad Nacional de Trujillo Informtica
Ingeniera de Sistemas Introduccin a la programacin en C++
respecto, la funcin puede considerarse como una sola unidad que proporciona una operacin de
propsito general.
Primer
nmero Primer nmero Resultado
x
Segundo Segundo nmero
nmero
Un requerimiento importante para disear una buena funcin es darle un nombre que le
transmita al lector alguna idea de lo que hace la funcin. Los nombres admitidos para funciones
tambin se usan para nombrar otros elementos del lenguaje C++ y se denominan de manera
colectiva identificadores (Ver Seccin 4).
Las dos primeras lnea se conocen como directiva include. sta le indica al compilador en
donde encontrar la informacin sobre ciertos elementos que utiliza nuestro programa. En este caso
iostream es el nombre de una biblioteca que contiene las definiciones de las rutinas que manejan las
entradas desde el teclado y el despliegue en pantalla, que son utilizadas en todos los programas en
C++. El programa enlazador combina el cdigo objeto de la biblioteca iostream y el cdigo objeto
de nuestro programa.
La tercera lnea indica que los nombres definidos en iostream se interpretarn de manera
estndar (std es una abreviatura de estndar).
La cuarta lnea indica que la parte principal del programa empieza all. Tambin se le denomina
funcin principal. La llave { marca el principio de la parte principal del programa.
La quinta lnea se conoce como declaracin de variables. Cuando declaramos una variable le
decimos al compilador (y al final, a la computadora) qu tipo de datos almacenaremos en dicha
variable: nmeros enteros, nmeros reales, caracteres o palabras.
La dcima lnea, que contiene la llave }, marca el fin de la parte principal del programa.
Para facilitar la colocacin y ejecucin ordenada de los mdulos, cada programa C++ debe
tener una y slo una funcin llamada main() (En el caso del entorno de desarrollo utilizado en
este curso .Net, al crear un programa en C++ este le asigna el nombre de _tmain()). La funcin
main() se conoce como una funcin controladora, porque controla, o indica, a los otros
mdulos la secuencia en la que tienen que ejecutarse.
La Figura N 3 ilustra una estructura para la funcin main(). La primera lnea de la funcin,
en este caso int _tmain(int argc, _TCHAR* argv[]), se conoce como lnea de encabezado de la
funcin. Una lnea de encabezado de la funcin, la cual siempre es la primera lnea de una
funcin, contiene tres fragmentos de informacin:
a. Qu tipo de dato, si hay alguno, es devuelto por la funcin.
b. El nombre de la funcin.
c. Qu tipo de dato, si hay alguno, es enviado a la funcin.
Nombre de Lista de
la funcin argumentos
Tipo de valor
int _tmain(int argc, _TCHAR* argv[])
devuelto {
int x, y;
x = 5;
Cuerpo de la y = x + 10;
funcin cout<<Valor de y:<<y;
return 0;
}
La palabra clave antes del nombre de la funcin define el tipo de valor que devuelve la
funcin cuando ha completado su operacin. Cuando se coloca antes del nombre de la funcin,
la palabra clave int, indica que la funcin devolver el valor de un nmero entero. Del mismo
modo, cuando los parntesis que siguen al nombre de la funcin no estn vacos, significa que se
transmitirn datos a la funcin cuando se est ejecutando (los datos transmitidos a una funcin
al momento de ejecutarla se llaman argumentos de la funcin). Las llaves { y }, determinan el
principio y el fin del cuerpo de la funcin y encierran las instrucciones que la componen. Las
instrucciones dentro de las llaves determinan lo que hace la funcin. Cada instruccin dentro de
la funcin debe terminar con un punto y coma (;).
Los programas manipulan datos como nmeros y letras. C++ y la mayora de los lenguajes de
programacin utilizan construcciones de programacin llamadas variables, para nombrar y almacenar
datos.
4.1. Variables.
Una variable en C++ puede almacenar un nmero o un dato de otro tipo. stas variables
son como pequeos pizarrones en donde es posible escribir los datos. As como los datos
escritos en un pizarrn pueden modificarse, tambin es posible modificar el contenido de una
variable en C++.
Al nmero u otro tipo de dato almacenado en una variable se le llama valor; esto es, el
valor de la variable es el elemento escrito en el pizarrn imaginario. Por supuesto, las variables
no son pizarrones. En los lenguajes de programacin, las variables se implementan como
ubicaciones de memoria. El compilador asigna una ubicacin de memoria a cada nombre de
variable del programa.
Todos los nombres mencionados previamente son vlidos y seran aceptados por el
compilador, pero los primeros cinco son malas opciones para identificadores, ya que no
describen el uso del identificador. Para hacer que su programa sea fcil de comprender, siempre
utilice nombres significativos para las variables, an cuando estos sean largos.
Los primeros tres no son vlidos, debido a que no comienzan con una letra o un guin
bajo. Los tres restantes no son identificadores, ya que contienen smbolos diferentes a letras,
dgitos, y el smbolo de guin bajo.
Sin embargo, no es una buena idea utilizar dos de estas variantes en el mismo programa, ya
que podra generar confusin. Aunque C++ no lo requiere, las variables frecuentemente se
escriben solamente en letras minsculas. Los identificadores predefinidos, como main, cin,
cout, y otros, deben escribirse con letras minsculas.
Existe una clase especial de identificadores, llamada palabras clave o palabras reservadas
que tienen un significado predefinido en C++ y que no podemos utilizar como nombres para
variables o para cualquier otra cosa.
Las variables se pueden declarar en tres sitios bsicos: dentro de las funciones (ya sea la
funcin main u otras creadas por el programador), estas variables son llamadas locales; en la
definicin de parmetros de una funcin; y fuera de todas las funciones, variables globales.
Conceptualmente los nmeros 2 y 2.0 son el mismo. Pero C++ los considera como
nmeros de diferente tipo. El nmero entero 2 es de tipo int, el nmero 2.0 es de tipo
double, debido a que contiene una parte fraccionaria.
Los valores numricos de tipo double se escriben diferente de aquellas de tipo int.
Los valores de tipo int no deben contener punto decimal. Los valores de tipo double
pueden escribirse de las dos formas. Sin embargo, algo que los valores de tipo double y
los valores de tipo int tienen en comn es que ningn nmero en C++ debe contener
comas.
Adems de int y double, C++ tiene otros tipos de nmeros. Para valores enteros:
short y long; para valores con parte fraccionaria: float y long double.
Los tipos para nmeros enteros, como int y similares, se llaman tipos enteros. Los
tipos de nmeros con punto decimal, como el tipo double y similares, se llaman tipos de
punto flotante. Se llaman de tipo flotante debido a que cuando la computadora almacena
un nmero escrito de la manera usual, como 392.123, primero convierte el nmero a una
notacin cientfica; en este caso algo como 3.92123e2. Cuando la computadora realiza
esta conversin, el punto decimal flota (esto es, se mueve) a una nueva posicin.
Los valores de tipo char (el cual es la abreviacin de character), son smbolos
especiales como letras, dgitos o signos de puntuacin. Generalmente, a los valores de
este tipo se les llama caracteres, pero en un programa en C++ a este tipo siempre se le debe
deletrear con la abreviacin char.
Una variable de tipo char puede almacenar cualquier carcter individual del teclado,
por ejemplo aun A o un + o una a. Observe que las versiones en mayscula y en
minscula de una letra se consideran caracteres diferentes.
Las expresiones booleanas evalan uno de los siguientes valores, true (verdadero) o
false (falso).
Las variables del mismo tipo pueden declararse separadas por comas:
int n = 10;
cout << n; // muestra en pantalla el valor de n
Tambin cout << permite mostrar mensajes entre comillas, por ejemplo: El valor es .
int n = 10;
cout << El valor es << n; // muestra en pantalla El valor es 10
En caso que se requiera introducir varios valores a diferentes variables, los nombres de las
variables se separan por el operador >>.
Cuando se digitan los valores, stos se introducen separados por espacios en blanco,
usando la tecla Enter o la tecla Tab.
4.7. Constantes.
Una constante es un dato cuyo valor no puede cambiar durante la ejecucin del programa.
Recibe un valor en el momento de la compilacin y ste permanece inalterado durante todo el
programa. Las constantes se declaran utilizando la palabra reservada const. Despus de declarar
una constante se puede usar en el cuerpo principal del programa, pero no se puede modificar
dentro del mismo.
const int MAX = 100; // MAX es una constante entera y se le asigna el valor 100.
De manera similar a las variables, las constantes tambin se declaran definiendo su tipo,
nombre y valor. Al momento de su declaracin, la constante debe ser inicializada.
5. Salida a consola.
separados por coma. El ingreso de caracteres termina cuando se pulsa la tecla Enter. Cuando se
almacena en memoria se introduce siempre al final de la cadena un carcter de terminacin.
6. Operadores y Expresiones.
6.1. Expresiones.
Las constantes y las variables (denominados tambin datos del programa), junto con los
operadores, formas las expresiones. Las constantes y variables tambin reciben la
denominacin de operandos. Por ejemplo:
6.2. Operadores.
Un operador es un smbolo especial que indica al compilador que debe efectuar una
operacin matemtica o lgica.
Operador Descripcin
+ Suma
- Resta
* Multiplicacin
/ Divisin
% Residuo
Operador Descripcin
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual que
!= No igual que (diferente)
Las expresiones con operadores relacionales dan como resultado un valor lgico, en
C++ un valor verdadero es cualquier valor distinto de cero. Un valor falso es igual a cero.
Operador Descripcin
&& Y (and)
|| O (or)
! No (not)
donde:
exp1 es una expresin lgica.
Si exp1 es verdadera, el resultado es igual a la exp2.
Si exp1 es falsa, el resultado es igual a exp3.
#include stdafx.h
#include iostream
using namespace std;
Expresin
Operador Nombre Explicacin
de Muestra
Incrementar a en 1 y luego
usar el nuevo valor de a en
preincremento ++a
la expresin en la que a
reside.
++
Usar el valor actual de a en
la expresin en la que reside
posincremento a++
y luego incrementar su valor
en 1.
Decrementar a en 1 y luego
usar el nuevo valor de a en
predecremento --a
la expresin en la que a
reside.
--
Usar el valor actual de a en
la expresin en la que reside
posdecremento a--
y luego decrementar su valor
en 1.