Professional Documents
Culture Documents
BORLAND C++
Introduccin
El lenguaje C fue desarrollado en 1972 por Dennis Ritchie. Inicialmente el lenguaje se relaciono con el sistema
operativo UNIX, ya que de la 13,000 lneas de cdigo que lo componen, slo unas 800 estn escritas en
lenguaje ensamblador y el resto, un 93%, estn escritas en C.
Es un lenguaje de nivel medio, ya que rene caractersticas de alto nivel, las cuales combina con elementos del
lenguaje ensamblador, lo que no significa que sea menos evolucionado que un lenguaje de alto nivel, ni que su
uso sea ms complicado. Dado que el lenguaje C est cercano al bajo nivel, el cdigo producido es muy rpido y
compacto.
Gracias a todas sus propiedades, C es considerado como un lenguaje de propsito general. Por esto no slo el
sistema operativo UNIX y sus aplicaciones se escriben en l, sino una gran cantidad de aplicaciones de gran
importancia como el sistema operativo MS-DOS.
CARACTERSTICAS PRINCIPALES DE C
1. Flexible
2. Portable de 90 a 95%
3. De propsito general
4. Permite crear software especial , tal como sistemas operativos
5. Es compatible con sistemas operativos como Unix y DOS
REQUERIMIENTOS
Memoria RAM de 512 Kb o 640 Kb, disco duro o dos unidades de disco flexible, un compilador, un Editor de
Texto (cualquiera)
INTERPRETE: Es el que lee el cdigo fuente de un programa lnea a lnea realizando las instrucciones
contenidas en esa lnea; cuando se desea correr un programa eb forma interpretada el cdigo fuente debe
estar siempre presente.
Inclusin de libreras
#include librerias
Definicin de constantes
#define constantes
Declaraciones globales
Variables
funciones
2. Al finalizar las escritura de cada sentencia se debe colocar el carcter punto y coma (;).
3. Toda funcin debe llevar parntesis y no debe terminar con punto y coma, salvo cuando es invocada en el
programa principal.
INCLUSIN DE LIBRERAS
Un programa en C++ contendr una serie de directivas #include que permiten incluir libreras en el programa.
Entindase por librera a un archivo con extensin H que activa y permite la utilizacin de ciertos comandos en
un lenguaje de programacin.
A diferencia del BASIC y el PASCAL, no existe en Borland C++ ninguna palabra reservada para la entrada y
salida como read y write, o INPUT y PRINT. No obstante, proporciona un conjunto de libreras donde se definen
las funciones (como printf) para realizar estas operaciones.
#include <fichero.h>
#include <stdio.h> Permite incluir la librera estndar de entrada y salida, la cual permite al usuario utilizar
los comandos de entrada y salida de informacin a un programa (printf, scanf).
#include <conio.h> Permite incluir la librera de monitor, la cual permite utilizar los comandos que realizan
acciones sobre el monitor, tales como limpiar pantalla, cambiar colores a la pantalla y
localizar informacin en la pantalla (clrscr, textcolor, textbackground y gotoxy).
#include <string.h> Incluye la librera que permiten utilizar las funciones de cadena que realizan acciones
como: comparar cadenas de caracteres y almacenar un valor dentro de una variable de
tipo carcter (strcmp y strcpy).
#include <math.h> Incluye la que permite utilizar la funciones matemticas como: seno, coseno, tangente,
logaritmo, etc.
DEFINICIN DE CONSTANTES
Un programa en C++ permite definir constantes por medio de la directiva #define. Entindase por constante a
un identificar cuyo valor no cambia nunca durante la ejecucin de un programa.
Sintaxis:
#define nombre valor_constante;
Ejemplo:
#define PI 3.1416
DECLARACIONES GLOBALES
VARIABLES
Una variable es un identificador cuyo valor puede cambiar durante la ejecucin de un programa. Cuando se
declara una variable tambin es posible determinar el tipo de valor que puede almacenar dentro de s.
Cuando se almacena informacin en una variable en realidad se esta almacenando dicha informacin en la
memoria RAM de nuestra computadora. La memoria de una computadora est compuesta por un conjunto de
celdas de memoria que almacenan la informacin en forma temporal mientras el equipo est encendido.
Cada celda de memoria tiene asignada una direccin de celda y una variable no es ms que una forma ms
rpida y efectiva de encontrar la informacin almacenada dentro de las celdas, ya que un nombre de variable no
es ms que un nombre que se le asigna a una celda de memoria que almacena un dato en particular.
En resumen, las variables son posiciones de memoria identificadas con un nombre nico, cuya funcin es
almacenar informacin que pueden cambiar su valor durante la ejecucin de un programa en la memoria
principal de la computadora.
Nombre de la variable
Direccin de memoria
Tipo de variable
Valor asignado a la variable
Nombre de la
Sueldo Tipo de variable
variable
Real o Float
180.50
Direccin de Informacin
memoria 0865
Un identificador puede ser: una variable, una constantes, un arreglo, una funcin, etc. y las reglas para dar
nombre a un identificador son las siguientes:
TIPOS DE VARIABLES
En Borland C++, todas las variables que se definen deben pertenecer a una categora o tipo particular. A
continuacin se presentan los tipo bsicos que existen en este lenguaje:
Como los caracteres estn enumerados segn la tabla ASCII, se garantiza que estn ordenados de la A a la Z,
de forma tal que A es menos que B, B es menor que C, etc. De la misma forma estn ordenados los
caracteres en minsculas y los dgitos del 0 al 9.
Cuando desee hacer referencia a un solo carcter, ya sea para asignarle una valor a una variable o para
establecer una condicin; el carcter debe ir encerrado entre apstrofes. Por ejemplo A, a, O, etc.
Sin embargo, si desea hacer referencia a una cadena de caracteres (ms de 1 carcter), la cadena se delimita
entre comillas (). Por ejemplo VHS, BASE, MEXICO, etc.
NOTA: Todas las variables que se incluyan en un programa en C++ deben haber sido declaradas antes de
utilizarlas.
INICIALIZACIN DE VARIABLES
Las variables se pueden inicializar a la vez que se declaran, o bien, inicializarse despus de la declaracin.
El primer mtodo:
Char respuesta = S;
Char producto=Camisa
Int contador = 1;
Int edad = 20;
Float peso = 87.20;
El segundo mtodo:
Char contador;
Contador=1;
Int ventas;
Ventas = 0;
A las variables que se definen antes de la funcin main(), se les llama variables globales y se les conoce de
esta manera porque pueden ser utilizadas en cualquier funcin que forme parte del programa.
A las variables que se definen dentro de cualquier funcin, se les conoce como variables locales, y slo se
pueden utilizar dentro de la funcin en que fueron declaradas.
DECLARACIN DE FUNCIONES
Un programa en C++ se compone de una o ms funciones, las cuales deben ser declaradas antes de que pueda
ser utilizada. Una funcin es un grupo de instrucciones que realizan una o ms acciones.
LA FUNCIN MAIN
La funcin main es una funcin privilegiada dentro del lenguaje C. Se puede decir que ejecutar un programa en
C es ejecutar la funcin main, ya que lo primero que hace todo programa es invocar esta funcin. Si en el
momento de compilar el programa no se encuentra su definicin dentro del cdigo, el compilador muestra un
mensaje de error indicando la falta de la misma.
Para definir un bloque de instrucciones se utilizan los smbolos de abrir y cerrar llaves ({ y }) de la misma
forma en que se utilizan las palabras begin y end en pascal.
SENTENCIAS COMPUESTAS
Una sentencia compuesta consiste de una secuencia de instrucciones (2 o ms) delimitadas por los smbolos {
y }. El cuerpo del programa principal est constituido por una sentencia compuesta, debido a que contiene ms
de 2 instrucciones y muchas de las estructuras soportadas por C tambin utilizan sentencias compuestas.
Al principio de toda sentencia compuesta se pueden declarar el conjunto de variables que sern utilizadas
dentro del bloque:
{
declaraciones de variables;
SECUENCIAS DE ESCAPE
Borland C++ proporciona una cantidad de smbolos especiales denominados secuencias de escape, que se
pueden utilizar dentro de cualquier texto para controlar su presentacin en pantalla.
FUNCIN PRINTF
Esta funcin permite la escritura de informacin de salida en la pantalla. El usuario puede imprimir tanto
mensajes, como el contenido de las variables. La sintaxis est funcin es la siguiente:
La cadena de control puede contener tanto mensajes como cdigos de formato y la lista de argumentos
contiene las variables cuyo contenido se visualizar en la pantalla.
Ejemplo 1 de printf :
#include <stdio.h>
#include <conio.h>
main()
{
clrscr();
printf(\t\t Este es \n);
printf(\t\t mi primer \n);
printf(\t\t en Borland C++.);
getch();
}
CDIGOS DE FORMATO
Los cdigos de formato se utilizan para permitir la entrada (lectura) y salida (escritura) de los diferentes tipos de
variables que existen en el cdigo de un programa.
GETCH() Lee un carcter del teclado sin visualizarlo en pantalla. Generalmente se utiliza para hacer una pausa
en la ejecucin del programa, espera a que se pulse una tecla. Requiere la librera stdio.h
OPERADORES ARITMTICOS
Los operadores aritmticos se utilizan para crear expresiones matemticas:
El smbolo % permite obtener el residuo de una divisin, es vlido unicamente para datos de tipo entero.
ASIGNACIONES Y EXPRESIONES
El signo utilizado para asignar un valor a una variable es el igual (=). Las variables almacenan el valor que se
expresa del lado derecho de la asignacin. La forma general de la sentencia de asignacin es la siguiente:
NomVar=Valor;
Ejemplo:
Sum=0;
Venta=300;
Donde NomVar es el nombre de una variable que ha sido previamente declarada y el valor es cualquier
expresin numrica, lgica o de carcter.
Cuando se asigna una expresin a una variable, primero se resuelve la expresin y despus se almacena el
resultado en la variable asignada.
b=5
h=6
a = (b*h)/2
Antes de hacer una sentencia de asignacin con otras variables, estas debe contener un valor previo, de lo
contrario ocurrir un error.
A=B Asignacin
A == B Comparacin
Ejemplo 2 de printf:
#include <stdio.h>
#include <conio.h>
float area;
int b=5,h=6;
main()
{
clrscr();
area=(b*h)/2;
printf(El rea del tringulo de base %d \n,b);
printf(y altura de %d es %f,h,area);
getch();
}
Float num=8.5125;
Ejemplos Resultado
Printf(%f,num) 8.512500
Printf(%6.2f,num) 8.51
Printf(%.2f,num) 8.51
Printf(%6.0f,num) 9
FUNCIN SCANF
Esta funcin permite la entrada de datos a un programa a travs del teclado. La funcin lee los datos y los
almacena en las variables indicadas. No es posible incluir mensajes dentro de la misma orden scanf. Por lo
tanto, todos los mensajes de entrada deben hacerse antes del scanf.
Para utilizar este comando es necesario conocer los cdigos de formato para los diferentes tipos de variables de
C++. La sintaxis que utiliza scanf es la siguiente:
Scanf(%cdigos de formato,&variable)
El smbolo & (ampersand), se utiliza para almacenar el dato introducido por el usuario a travs del teclado
dentro de una variable.
Ejemplos:
Scanf(%s,&nom) Pide una cadena de caracteres que se almacena dentro de la variable nom de
tipo carcter.
Scanf(%f,&sueldo) Pide un nmero con decimales que se almacena dentro de la variable sueldo
de tipo flotante.
Tambin es posible utilizar mltiples argumentos dentro de una misma funcin scanf, como en el siguiente
ejemplo:
el usuario debe separar los valores con espacio o tabulacin. Si introduce solamente un valor, el programa se
queda esperando hasta que se coloque el valor faltante.
%s : Lee una cadena de caracteres eliminado todos aquellos que se encuentren despus del primer
espacio en blanco.
%[^\n] : Lee todos los caracteres de una cadena hasta el fin de la lnea, sin importar si incluye espacios en
blanco.
Ejemplos:
REA DE UN TRINGULO
#include <stdio.h>
#include <conio.h>
float area;
int bas,alt;
main()
{
clrscr();
printf(Introduzca la base : ); scanf(%d,&bas);
printf(Introduzca la altura: ); scanf(%d,&alt);
area=(bas*alt)/2;
printf(El rea del tringulo es %6.1f,area);
getch();
}
CALCULO DE VIDA
#include <stdio.h>
#include <conio.h>
char nom;
int edad;
float dia,hrs.min,seg;
main()
{
clrscr();
gotoxy(15,6); printf(Introduzca su noombre : ); scanf(%[^\n],&nom);
gotoxy(15,8); printf(Introduzca su edad : ); scanf(%d,&edad);
dia=edad*365;
hrs=dia*24;
min=hrs*60;
seg=min*60;
gotoxy(15,10); printf(Su edad equivale a:);
gotoxy(15,12); printf(%10.1f dias.,dia);
gotoxy(15,13); printf(%10.1f horas.,hrs);
gotoxy(15,14); printf(%10.1f minutos.,min);
gotoxy(15,15); printf(%10.1f segundos.,seg);
getch();
}
lo cual significa que se debe sumar 5 a la variable a. Esta asignacin es equivalente a la siguiente:
a = a + 5;
Se puede utilizar cualquier operacin matemtica en el lugar del signo de adicin (+). A continuacin se
muestran algunos ejemplos de estas asignaciones y su forma equivalente:
esto equivale a:
Int a =1, b; Int a =1, b;
b = a++; /* b vale 1 y a vale 2 */ b = a; /* b vale 1 */
a = a + 1; /* a vale 2 */
esto equivale a:
Int a =1, b; Int a =1, b;
b = ++a; /* b vale 2 y a vale 2 */ a = a + 1; /* a vale 2 */
b = a; /* b vale 2 */
CONTADORES
Un contador permite incrementar o decrementar el valor de una variable en una cantidad constante.
Sintaxis:
Variable = variable + constante;
Ejemplos:
A+=1; que equivale a A = A + 1;
C+=5; que equivale a C = C + 5;
B-=1; que equivale a B = B - 1;
D-=3; que equivale a D = D - 3;
ACUMULADORES
Un acumulador es una variable que incrementa su valor de una variable en cantidades variable. Generalmente
se utiliza para acumular o sumar valores numricos tales como: ventas, compras, calificaciones, etc.
Sintaxis:
Variable1 = Variable1 + Variable2;
Ejemplos:
TOTAL+=VTA; que equivale a TOTAL= TOTAL+VTA;
SUM+=PROM; que equivale a SUM=SUM+PRO,M;
CONDICIONES
En algunos programas, es necesario establecer condiciones que determinan el camino que tomara el flujo del
programa. Las condiciones no son ms que comparaciones entre dos valores (2 nmeros, 2 variables, 1 nmero
y una variable, etc) utilizando operadores relacionales y lgicos.
OPERADORES RELACINALES
Los operadores que se utilizan para establecer condiciones son los operadores relacionales o de relacin. Las
condiciones devuelven como resultado un valor verdadero (un valor distinto de cero) o falso (el nmero cero).
Los operadores relacionales tienen menor prioridad que los operadores aritmticos, y asociatividad de izquierda
a derecha.
M + 5 <= 2 * N equivale a (M + 5) <= (2 * N)
OPERADORES LGICOS
En ocasiones es necesario realizar comparaciones compuestas en los programas, en las cuales hay que hacer 2
o ms condiciones. Los operadores lgicos se utilizan para enlazar varias expresiones lgicas (condiciones) en
una sola, dando como respuesta valores BOOLEANOS, ya sea verdadero o falso.
Ejemplos:
vtas>=2000 && vtas<=2000
res==s || res==S
!sueldo<2000
TABLA DE VERDAD NO
Operando !Operando
Verdadero Falso
Falso Verdadero
Los comentarios que se encierran entre smbolos /* y */ pueden colocarse en cualquier parte del programa y
pueden extenderse en ms de una lnea. Mientras que el smbolo // se utiliza para agregar a un programa
comentarios de una sola lnea.
LOCALIZACIN DE INFORMACIN
La instruccin gotoxy, permite localizar informacin de salida en la pantalla.
Sintaxis:
Gotoxy(columna, fila);
Ejemplos:
Gotoxy(10,5); printf(Bienvenido al Sistema);
Gotoxy(15,7); printf(Cliente:); scanf(%s,&clie);
CAMBIOS DE COLOR
La instruccin textbackground permiten cambiar el color del fondo de la pantalla, mientras que la instruccin
textcolor permite cambiar el color de primer plano del texto visualizado.
Sintaxis:
Textbackground(cdigo de color);
Textcolor(cdigo de color);
CDIGOS DE COLOR
ESTRUCTURAS DE CONTROL
BORLAND C++ contiene las siguientes estructuras de control.
If (condicin) If (condicin)
Instruccin; {
bloque de sentencias;
}
Ejemplos:
If (venta>=2000) If (semestre==1)
Descto=subto*0.10; {
inscripcion=150;
mensualidad=110;
}
If (venta>=2000) If (semestre==1)
Descto=subto*0.10; {
Else inscripcion=150;
Descto=subt*0.05; mensualidad=110;
}
else
{
inscripcion=120;
mensualidad=90;
}
Ejemplos:
If (strcmp(contrato,BASE)=0) If (strcmp(fmto,DVD)=0)
Comisin=sueldo*0.20; Renta=40;
Else Else
Comisin=sueldo*0.10; Renta=25;
Ejemplo:
If (edad<1)
Strcpy(area ,Lactantes);
Else
Strcpy(area, Maternal);
If (condicin1)
{
if (condicin2)
instruccin;
else
instruccin;
}
else
{
if (condicin3)
instruccin;
else
instruccin;
}
SENTENCIA SWITCH
La sentencia switch se utiliza para la creacin de programas de mens o de seleccin mltiple.
La sentencia switch permite hacer mltiples comparaciones con respecto a una misma variable o expresin. La
sentencia switch proporciona un mtodo compacto para realizar este tipo de comparaciones, sin necesidad de
utilizar mltiples sentencias condicionales.
El termino men se utiliza para aquellos programas en los que se muestran un conjunto de opciones, de entre
las cuales, el usuario selecciona aquella que desee ejecutar. De la misma manera en la que un cliente de un
restaurant, puede seleccionar el platillo que desea pedir seleccionndolo de la carta o men del
establecimiento que muestra varios platillos.
Su sintaxis es:
Switch(variable)
{
case constante 1:
sentencias;
break;
case constante 2:
sentencias;
break;
......
case constante n:
sentencias;
break;
default:
sentencias;
break;
}
donde el resultado de la expresin debe ser entero y los valores deben ser constantes enteras. La sentencia
switch evala la expresin que se encuentra entre parntesis. El valor obtenido se compara con cada una de
las constantes especificadas en las listas de constantes, constante 1, constante 2 y constante n y cuando se
halla una correspondencia (los valores son iguales), se ejecutan las sentencias que se encuentren a
continuacin de los dos puntos (inclusive las de los dems casos) hasta que se encuentren la sentencia break.
Si no se obtiene ninguna correspondencia con las constantes, se ejecutan las sentencias que se encuentran
despus de la palabra default.
SENTENCIAS REPETITIVAS
Las sentencias repetitivas permiten la generacin de ciclos o bucles en los cuales las instrucciones contenidas
dentro del ciclo se repiten un determinado nmero de veces o iteraciones.
Un ciclo es la repeticin de una o ms sentencias varias veces, donde a cada repeticin se le conoce como
iteracin. Entonces, una iteracin es una sola repeticin de un grupo de ordenes.
Sintaxis:
While (condicin)
{
sentencias;
}
Ejemplo:
num=0;
While (num<10)
{
num++;
printf(%d\n,num);
}
Lo que hace diferente a esta sentencia del while, es que siempre se ejecuta por lo menos una vez debido a que
la condicin se evala al final y adems no requiere al inicio una expresin que haga verdadera la condicin.
Sintaxis:
do {
sentencias;
} While (condicin);
Ejemplo:
do {
num++;
printf(%d\n,num);
} While (num<10):
En esta estructura se determina un valor inicial, una condicin que se debe cumplir para que se ejecute el bucle
for y por ltimo un incremento con el cual se vara el valor inicial de la variable.
Sintaxis:
for (valor_inicial; condicin; incremento)
{
sentencias;
}
Ejemplos:
BIFURCACIONES DE CONTROL
LA SENTENCIA GOTO
La sentencia goto transfiere o bifurca incondicionalmente el control del programa a la sentencia etiquetada por
el identificador. Muchos programadores prefieren omitir su uso en cdigos de programas por considerar que el
utilizarlo permite hacer ek cdigo del programa ilegible. Sin embargo, el uso moderado de esta instruccin
permite agilizar la ejecucin del programa. La forma general de la instruccin goto es la siguiente:
etiqueta:
instruccin (es);
goto etiqueta;
Crear una etiqueta (label) consiste en determinar un nombre que debe finalizar con el smbolo :, el cual ser
reconocido por el goto. Un ejemplo de esta instruccin es el siguiente.
main( )
{
x = 1;
volver;
x++;
if (x!=10) goto volver;
}
LA SENTENCIA BREAK
Las sentencias break y continue se utilizan para cambiar la forma en que se ejecutan las sentencias repetitivas.
La sentencia break tiene bsicamente dos funciones dentro de C++. Si se encuentra una sentencia break en
medio de un ciclo (while, do-while y for), el bucle se da por terminado inmediatamente y continua con la
siguiente instruccin despus del mismo. La sentencia break tambin se utiliza para terminar la ejecucin de
cada uno de los casos (case) de la sentencia switch-case.
Ejemplo:
#include <stdio.h>
#include <conio.h>
main( )
{
clrscr( );
int x;
for (x=1;x<100;x++)
{
printf(%d\n,x);
if (t = = 10) break;
}
getch( );
}
LA SENTENCIA CONTINUE
La sentencia continue, hace que se pase la ejecucin a la siguiente iteracin del bucle.
LA FUNCION EXIT
La funcin exit sirve para dar por terminado el programa y obligar a retornar al sistema operativo.
NOTA: Un ciclo infinito se produce cuando los valores adquiridos por las variables dentro del bucle nunca
satisfacen a la condicin especificada.
Por ejemplo:
x=10;
while (x>=1)
{
printf (%d,x);
x++;
}
ARRAYS (ARREGLOS)
Un arreglo permite almacenar un conjunto de valores del mismo tipo dentro de una sola variable, lo cual se
logra por medio de un ndices y ciclos for.
NUM[0] 20
NUM[1] 15
NUM[2] 30
NUM[3] 5
NUM[4] 45
Las posiciones de un arreglo unidimensional son reconocidas por un ndice que en realidad es un nmero entero
que denota la posicin dentro de un arreglo. La primera posicin de un vector en C++ toma el valor 0, la
siguiente valor 1 y as sucesivamente. Para hacer referencia a una posicin de un arreglo en C++, se debe
hacer referencia al nombre general del vector y despus a su ndice. Por ejemplo el primer elemento del arreglo
datos se refiere:
NUM[0]
Especificador_de_tipo nombre_variable[tamao];
El especificador_de_tipo, hace referencia al tipo de datos que tendrn los elementos del vector. El
nombre_variable hace referencia al nombre general del vector, y el tamao al nmero de elementos o
posiciones del arreglo.
Ejemplos:
Char cliente[7][20]; Vector de tipo carcter de 7 posiciones con un tamao de 20 caracteres cada
posicin.
Ejemplo:
#include <stdio.h>
#include <conio.h>
int num[5],x;
main( )
{
clrscr( );
for (x=0;x<=4;x++)
{
gotoxy(20,7+x); scanf(%d,&num[x]);
}
getch( );
}
for (x=0;x<=4;x++)
{
gotoxy(40,7+x); printf(%d,num[x]);
}
NUM[X][Y] 0 1 2 3
0
1 2
2
Por ejemplo:
Int ventas[4][3];
En el ejemplo anterior se define una matriz denominada ventas que posee 4 filas y 10 columnas.
#include <stdio.h>
#include <conio.h>
int ventas[4][3],x,y;
main( )
{
clrscr( );
for (x=0;x<=3;x++)
{
col=0;
for (y=0;y<=2;y++)
{
gotoxy(10+col,7+x); scanf(%d,&ventas[x][y]);
col+=10;
}
}
clrscr( );
for (x=0;x<=3;x++)
{
col=0;
for (y=0;y<=2;y++)
{
gotoxy(10+col,7+x); printf(%d,ventas[x][y]);
col+=10;
}
}