Sunteți pe pagina 1din 25

Curso de Algoritmos Informticos y Borland C++

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)

TRMINOS BSICOS EN BORLAND C++


Los trminos que se describen a continuacin sern en utilizados a lo largo del presente curso:

CDIGO FUENTE: Es el texto de programa que el usuario realiza.

CDIGO OBJETO: Es el programa traducido al lenguaje mquina.

COMPILADOR: Es el encargado de traducir el cdigo fuentes en cdigo objeto, de esta manera la


ejecucin de los programas es ms rpida que la que se realiza a travs de los lenguajes interpretados.

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.

TIEMPO DE COMPILACIN: Es el tiempo durante el cual el compilador traduce a lenguajes de mquina


el cdigo fuente, durante este perodo suelen detectarse los diferentes tipos de errores de compilacin
(sintcticos y lxicos).

TIEMPO DE EJECUCIN: Es el tiempo en que se ejecuta el programa.

ING. JUAN JOS DEL ANGEL GARCA PGINA 1 DE 25


Curso de Algoritmos Informticos y Borland C++

ESTRUCTURA GENERAL DE UN PROGRAMA EN C++


Un programa en C++ est compuesto por un conjunto de funciones. La funcin principal se denomina MAIN y
es la primera que se llama cuando el programa se ejecuta invocando despus las otras funciones del programa.

Inclusin de libreras
#include librerias

Definicin de constantes
#define constantes

Declaraciones globales
Variables
funciones

Funcin principal main


main()
{
declaraciones locales
sentencias
}

Definiciones de otras funciones


Func1(....)
{
sentencias
}
Func1(....)
{
sentencias
}
.

REGLAS DE MBITO SINTCTICO

1. Todo programa debe estar escrito en minsculas.

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.

4. Toda instruccin compuesta en C++ debe ir encerrada entre llaves { }.

ING. JUAN JOS DEL ANGEL GARCA PGINA 2 DE 25


Curso de Algoritmos Informticos y Borland C++

DESCRIPCIN DE LA ESTRUCTURA DE UN PROGRAMA

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.

La sintaxis para incluir libreras es la siguiente:

#include <fichero.h>

Las libreras que utilizaremos en el presente curso de C++ sern:

#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

En el ejemplo se define una constante llamada PI a la cual se le asigna un valor de 3.1416

ING. JUAN JOS DEL ANGEL GARCA PGINA 3 DE 25


Curso de Algoritmos Informticos y Borland C++

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.

ELEMENTOS DE UNA VARIABLE


En resumen los elementos que forman a una variables son:

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

REGLAS PARA DAR NOMBRE A UNA VARIABLE


Para dar un nombre a una variable o a cualquier identificador se deben tomar en cuenta las siguientes reglas:

1. Debe comenzar con un carcter alfabtico, no puede comenzar con un dgito.


2. Puede contener solo letras y nmeros, no se permiten espacios en blanco, letras acentuadas o cualquier
otro smbolo.
3. Se puede utilizar el carcter de subrayado intermedio.
4. No se puede utilizar como identificador ninguna palabra reservada o nombre de funcin definida
anteriormente.

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:

ING. JUAN JOS DEL ANGEL GARCA PGINA 4 DE 25


Curso de Algoritmos Informticos y Borland C++

DEFINICIN O DECLARACIN DE VARIABLES


Los identificadores que no forman parte del lenguaje deben ser definidos o declarados antes de poder utilizarse.
Definir una variable es darle un nombre a una localizacin de almacenamiento (celda de memoria Ram). Las
variables de definen colocando el tipo de datos seguido del nombre de la variable. Sintaxis:
Tipo lista_de_variables;

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:

1. Char: se utiliza para almacenar un carcter o una cadena de caracteres.


2. Int: Nmeros enteros normales.
3. Long: Nmeros enteros largos.
4. Float: Nmeros reales o de punto flotante de precisin simple.
5. Double: Nmeros reales o de punto flotante de precisin doble.

VARIABLES DE TIPO CARACTER


El tipo de datos CHAR se utiliza para representar un carcter o un cadena de caracteres. Los caracteres estn
representados por el nmero que le corresponde segn la tabla ASCII, es decir de un valor entre 0 y 255. Por lo
tanto es lo mismo hablar del carcter A que del nmero 65.

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.

DECLARACIN DE VARIABLES DE TIPO CARACTER


Una variable de tipo char a la que no se le indica la longitud, almacena solamente 1 carcter. Mientras que una
variable char a la que se le indica la longitud almacena una cadena de caracteres del tamao especificado.

Char res, casado, estudiante;


Char cliente[30], producto[25];

VARIABLES DE TIPO NUMRICO


A continuacin se presentan los rangos de valores que se utilizan los diferentes tipos de variables numricas del
lenguaje:

Tipo de nmero Rango de valores


Int Entre 32,768 y +32767
Long Entre 2,147,483,648 y +2,147,483,647
Float Entre 1.7E+38 con una precisin de 7 dgitos.
Double Entre 1.5E+308 con una precisin de 15 dgitos.

ING. JUAN JOS DEL ANGEL GARCA PGINA 5 DE 25


Curso de Algoritmos Informticos y Borland C++

DECLARACIN DE VARIABLES NUMRICAS

Int edad, nprod;


Long existencia, prodven;
Float sueldo, venta, prom;
Double vtamax, vtamin;

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;

ALCANCE DE UNA VARIABLE

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.

ING. JUAN JOS DEL ANGEL GARCA PGINA 6 DE 25


Curso de Algoritmos Informticos y Borland C++

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;

sentencias del bloque

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.

Las principales secuencias de escape son las siguientes:

Secuencia de escape Carcter que representa


\a Carcter de alarma (campana)
\b Retroceso
\n Nueva lnea
\t Tabulador horizontal
\v Tabulador vertical

ING. JUAN JOS DEL ANGEL GARCA PGINA 7 DE 25


Curso de Algoritmos Informticos y Borland C++

COMANDOS DE ENTRADA Y SALIDA DE DATOS

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:

Printf (Cadena de control:,lista de argumentos);

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.

Cdigos de formato Tipo de variable que lee o escribe


%d Nmero entero.
%i Decimal
%f Nmero de punto o coma flotante (con decimales)
%c Un solo carcter.
%s Una cadena de caracteres (2 o ms caracteres)
%o Octal
%x Hexadecimal

CLRSCR() Limpia el contenido de la pantalla. Requiere la librera conioh

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

FFLUSH(STDIN) Limpia el buffer de almacenamiento, solo para variables de tipo Char.

ING. JUAN JOS DEL ANGEL GARCA PGINA 8 DE 25


Curso de Algoritmos Informticos y Borland C++

OPERADORES ARITMTICOS
Los operadores aritmticos se utilizan para crear expresiones matemticas:

Operador Operacin Ejemplo Resultado


+ Suma 4+3 7
- Resta 5-2 3
* Multiplicacin 5*2 10
/ Divisin 5/3 1.66666
% Modulo 22 % 5 2

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.

CUAL ES LA DIFERENCIA ENTRE UTILIZAR = O ==


El signo de igual (=) se utiliza para asignar valores a una variable, mientras que el signo doble igual (==) se
utiliza para establecer una comparacin lgica entre dos valores.

A=B Asignacin
A == B Comparacin

ING. JUAN JOS DEL ANGEL GARCA PGINA 9 DE 25


Curso de Algoritmos Informticos y Borland C++

PRIORIDAD DE LOS OPERADORES


Una computadora resuelve las expresiones tomando en cuenta la jerarqua, prioridad o grado de importancia
que poseen los operadores aritmticos. Los operadores que tiene mayor prioridad sobre otros se realizan
primero.

Operador Operacin Prioridad


() Agrupacin. 1
++,-- Incremento, Decremento. 2
*, / , % Multiplicacin, Divisin, Modulo. 3
+,- Suma, Resta. 4
=,+=,-=,*=,/=,%= Operadores de asignacin. 5

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();
}

IMPRESIN DE NMEROS REALES


Al igual que es Pascal, cuando se imprimen nmeros reales, el nmero se muestra sin formato y con un nmero
muy grande de decimales. Se puede cambiar la forma en que se visualiza colocando dos nmeros despus del
smbolo de % y antes del tipo (d, f, s o c), separados por un punto. El primer nmero especifica el ancho total
de caracteres y el segundo el nmero de decimales que se utilizan.

A continuacin veremos algunos ejemplos considerando los siguiente:

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

ING. JUAN JOS DEL ANGEL GARCA PGINA 10 DE 25


Curso de Algoritmos Informticos y Borland C++

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:

Printf(Introduzca el valor de a y b:);


scanf(%d %d,&a, &b);

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.

EL MANEJO DE CADENAS CON ESPACIOS EN SCANF

%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:

Printf(Digite su nombre: ); scanf(%s,&nom);


Printf(Digite su nombre: ); scanf(%[^\n],&nom);

ING. JUAN JOS DEL ANGEL GARCA PGINA 11 DE 25


Curso de Algoritmos Informticos y Borland C++

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();
}

ING. JUAN JOS DEL ANGEL GARCA PGINA 12 DE 25


Curso de Algoritmos Informticos y Borland C++

OPERADORES ARITMTICOS COMBINADOS


En el lenguaje Borland C++ tambin se encuentran un conjunto de asignaciones que son poco convencionales,
pero muy tiles. Estas asignaciones mezclan una operacin con la asignacin.
Por ejemplo:
a + = 5;

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:

Operador Sentencia Sentencia


Abreviada No abreviada
+= M += N M=M+N
-= M -= N M=M-N
*= M *= N M=M*N
/= M /= N M=M/ N
%= M %= N M=M%N

OPERADORES DE INCREMENTO Y DECREMENTO


Adems existen los operadores de incremento y decremento que permiten sumar o restar la unidad a la variable
asignada.

Operador Sentencia Sentencia


Abreviada No abreviada
++ C++; C = C + 1;
-- C--; C = C 1;

Estos operadores se pueden utilizar en forma prefija o postfija:

EJEMPLO DE FORMA PREFIJA

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 */

EJEMPLO DE FORMA POSTFIJA

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 */

ING. JUAN JOS DEL ANGEL GARCA PGINA 13 DE 25


Curso de Algoritmos Informticos y Borland C++

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).

Operador Significado Ejemplo


== Igual a A == B
=, #, <> Diferente a A = B
> Mayor que A>B
< Menor que A<B
>= Mayor o igual que A >= B
<= Menor o igual que A <=B

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)

A continuacin se presentan algunos ejemplos de condiciones.

Res==S; Precio > 2000


Z >= A Num1 >= Num2

ING. JUAN JOS DEL ANGEL GARCA PGINA 14 DE 25


Curso de Algoritmos Informticos y Borland C++

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.

Operador Expresin Significado


Lgico Lgica
&& Op1 && Op2 Y, la condicin es verdadera solo cuando ambos
operandos son verdaderos.

|| Op1 || Op2 O, la condicin es verdadera cuando alguno de los


dos operandos es verdadero.

! !Op NO, se le llama negacin y en esta la condicin es


verdadera cuando el operando es falso.

Ejemplos:
vtas>=2000 && vtas<=2000
res==s || res==S
!sueldo<2000

TABLA DE VERDAD Y TABLA DE VERDAD O


Op1 Op2 Op1 && Op2 Op1 Op2 Op1 || Op2
Verdadero Verdadero Verdadero Verdadero Verdadero Verdadero
Verdadero Falso Falso Verdadero Falso Verdadero
Falso Verdadero Falso Falso Verdadero Verdadero
Falso Falso Falso Falso Falso Falso

TABLA DE VERDAD NO
Operando !Operando
Verdadero Falso
Falso Verdadero

USO DE LOS COMENTARIOS


Los comentarios son lneas que o se ejecutan dentro de un programa y que tienen por funcin explicar
informacin contenida dentro del mismo, o bien, indicar el principio o fin de un bloque de ordenes en particular.

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.

ING. JUAN JOS DEL ANGEL GARCA PGINA 15 DE 25


Curso de Algoritmos Informticos y Borland C++

MEJORANDO LA PRESENTACIN DEL PROGRAMA

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

COLOR CDIGO NUMERO CDIGO TEXTO


Negro 0 BLACK
Azul 1 BLUE
Verde 2 GREEN
Cyan 3 CYAN
Rojo 4 RED
Magenta 5 MAGENTA
Caf 6 BROWN
Gris Claro 7 LIGHTGRAY
Gris Oscuro 8 DARKGRAY
Azul Claro 9 LIGHTBLUE
Verde Claro 10 LIGHTGREEN
Cyan Claro 11 LIGHTCYAN
Rojo Claro 12 LIGHTRED
Magenta Claro 13 LIGHTMAGENTA
Amarillo 14 YELLOW
Blanco 15 WHITE
Parpadenate 128 BLINK

ESTRUCTURAS DE CONTROL
BORLAND C++ contiene las siguientes estructuras de control.

Selectivas Repetitivas Bifurcacin de control


If, if-else While Break,
Switch Do-while Continue
For Goto
Return
Exit

ING. JUAN JOS DEL ANGEL GARCA PGINA 16 DE 25


Curso de Algoritmos Informticos y Borland C++

ESTRUCTURAS DE CONTROL SELECTIVAS

SENTENCIA IF (SI - ENTONCES)


La sentencia IF evala una condicin y ejecuta un bloque de ordenes en caso de que sea verdadera. Si el bloque
de ordenes esta formado por ms de una instruccin, debe ir encerrado entre llaves { y }.

Sintaxis simple: Sintaxis compuesta:

If (condicin) If (condicin)
Instruccin; {
bloque de sentencias;
}

Ejemplos:

If (venta>=2000) If (semestre==1)
Descto=subto*0.10; {
inscripcion=150;
mensualidad=110;
}

SENTENCIA IF ELSE (SI ENTONCES SINO)


La sentencia IF evala una condicin y ejecuta un bloque de ordenes que se encuentra despus del if si la
condicin es verdadera y ejecuta el bloque de ordenes despus del else si la condicin es falsa. Si el bloque de
ordenes esta formado por ms de una instruccin, debe ir encerrado entre llaves { y }. El sangrado (espacio al
principio de las lneas) es opcional aunque se recomienda utilizarlo, ya que facilita la lectura del cdigo.

Sintaxis simple: Sintaxis compuesta:


If (condicin) If (condicin)
Instruccin; {
Else bloque de sentencias;
Instruccin; }
else
{
bloque de sentencias;
}
Ejemplos:

If (venta>=2000) If (semestre==1)
Descto=subto*0.10; {
Else inscripcion=150;
Descto=subt*0.05; mensualidad=110;
}
else
{
inscripcion=120;
mensualidad=90;
}

ING. JUAN JOS DEL ANGEL GARCA PGINA 17 DE 25


Curso de Algoritmos Informticos y Borland C++

COMPARACIONES CON CADENAS DE CARACTERES


Si desea establecer comparaciones entre cadenas de caracteres debe utilizar la funcin strcmp (string compare).
Esta funcin compara dos cadenas y devuelve un nmero entero con un valor.

Menor que cero (< 0) si cadena1<cadena2


Igual a cero (=0) si cadena1=cadena2
Mayor que cero (>0) si cadena1>cadena2

Sintaxis: Strcmp(variable,cadena de caracteres)

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;

ASIGNACIN DE UN VALOR A UNA VARIABLE DE TIPO CARCTER


Si desea asignar un valor a una variable de tipo carcter no es posible hacerlo de la misma manera en que se
asigna un valor a una variable de tipo numrico, en la cual la asignacin es directa por ,medio del signo de igual
(edad=20).
Para asignar una valor a una variable de tipo carcter debe utilizar la funcin strcpy (string copy), la cual
copia la cadena indicada dentro de la variable de tipo carcter.
Sintaxis:
Strcpy(variable de tipo carcter,cadena)

Ejemplo:
If (edad<1)
Strcpy(area ,Lactantes);
Else
Strcpy(area, Maternal);

IF ANIDADOS (UN IF DENTRO DE OTRO IF)


El termino anidamiento significa uno dentro de otro y este caso al hablar de if anidados, nos estamos
refiriendo a la colocacin de un if dentro de otro if. No existe una sintaxis general para los if anidados debido a
que puede tomar diferentes formas segn lo requiera el programa.
Sin embargo, a continuacin daremos un ejemplo:

If (condicin1)
{
if (condicin2)
instruccin;
else
instruccin;
}
else
{
if (condicin3)
instruccin;
else
instruccin;
}

ING. JUAN JOS DEL ANGEL GARCA PGINA 18 DE 25


Curso de Algoritmos Informticos y Borland C++

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.

ING. JUAN JOS DEL ANGEL GARCA PGINA 19 DE 25


Curso de Algoritmos Informticos y Borland C++

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.

LA SENTENCIA WHILE (MIENTRAS-EJECUTAR)


Esta sentencia ejecuta un conjunto sentencias mientras la condicin es verdadera y sale del ciclo cuando la
condicin se hace falsa. En ese momento el flujo del programa pasa a la siguientes lnea despus del cierre del
while. Siempre debe colocarse antes del while una sentencia que haga verdadera la condicin y que permita al
programa entrar al ciclo la primera vez.

Sintaxis:
While (condicin)
{
sentencias;
}

Ejemplo:
num=0;
While (num<10)
{
num++;
printf(%d\n,num);
}

LA SENTENCIA DO WHILE (ELECUTAR MIENTRAS)


Al igual que el ciclo while, este ciclo ejecuta un conjunto sentencias mientras la condicin es verdadera y
termina cuando la condicin es falsa, pasando el flujo a la siguiente lnea.

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):

ING. JUAN JOS DEL ANGEL GARCA PGINA 20 DE 25


Curso de Algoritmos Informticos y Borland C++

LA SENTENCIA FOR (PARA HASTA)


La sentencia for permite generar un ciclo en el cual se encuentran predefinido el nmero de iteraciones que lo
forman, es decir, el nmero de veces que se repetirn las instrucciones (1 o ms) que estn contenidas dentro
del bucle.

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:

For (num=1; num<=10;num++) For (num=10; num>=1;num--)


{ {
printf(%d\n,num); printf(%d\n,num);
} }

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.

ING. JUAN JOS DEL ANGEL GARCA PGINA 21 DE 25


Curso de Algoritmos Informticos y Borland C++

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++;
}

ING. JUAN JOS DEL ANGEL GARCA PGINA 22 DE 25


Curso de Algoritmos Informticos y Borland C++

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.

ARREGLO UNIDIMENSIONAL O VECTOR


Los arreglos unidimensionales son considerados como un conjunto de datos del mismo tipo que poseen un
nombre determinado. Un vector se representa grficamente de la siguiente manera:

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]

COMO DECLARA UN ARREGLO UNIDIMENSIONAL


Para declarar un arreglo unidimensional se debe hacer de la siguiente manera:

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:

Int edad[10]; Vector edad con 10 posiciones de tipo nmero entero.

Float sueldo[5]; Vector de 5 posiciones de tipo nmero real o con decimales.

Char cliente[7][20]; Vector de tipo carcter de 7 posiciones con un tamao de 20 caracteres cada
posicin.

ING. JUAN JOS DEL ANGEL GARCA PGINA 23 DE 25


Curso de Algoritmos Informticos y Borland C++

COMO LLENAR UN ARREGLO UNIDIMENSIONAL


Para llenar un arreglo unidimensional es necesario hacer uso de una sentencia repetitiva que permita acceder a
todas las posiciones del vector, generalmente se utiliza el ciclo for para producir el cambio de ndice en el
vector.

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( );
}

COMO IMPRIMIR UN ARREGLO UNIDIMENSIONAL


Generalmente tambin se utiliza el ciclo for para generar el cambio de ndice que permita imprimir todas las
posiciones de un arreglo unidimensional que ha sido capturado previamente.
Ejemplo:

for (x=0;x<=4;x++)
{
gotoxy(40,7+x); printf(%d,num[x]);
}

ARREGLO BIDIMENSIONAL O MATRIZ


Los arreglos bidimensionales son los construidos en dos direcciones (filas y columnas), de tal manera que su
ndice est compuesto por dos partes donde la primera corresponde a la fila y la segunda a la columna. Una
matriz se representa grficamente de la siguiente manera:

MATRIZ VENTAS DE 4X3

NUM[X][Y] 0 1 2 3
0
1 2
2

en donde, la posicin VENTAS[2][1] de la matriz posee el valor de 15.

ING. JUAN JOS DEL ANGEL GARCA PGINA 24 DE 25


Curso de Algoritmos Informticos y Borland C++

COMO DECLARA UN ARREGLO BIDIMENSIONAL


La declaracin de arreglos bidimensionales es similar a la de arreglos unidimensionales, pero en esta ocasin se
define el nmero de filas y el nmero de columnas que tendr el arreglo.
Sintaxis:
Especificador_de_tipo nombre_variable[tamao filas][tamao columnas];

Por ejemplo:
Int ventas[4][3];

En el ejemplo anterior se define una matriz denominada ventas que posee 4 filas y 10 columnas.

COMO LLENAR E IMPRIMIR UNA MATRIZ


Generalmente se utilizan dos ciclos for para generar el cambio de ndice tanto para las filas como para las
columnas y que permita llenar e imprimir todas las posiciones de un arreglo bidimensional.

#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;
}
}

ING. JUAN JOS DEL ANGEL GARCA PGINA 25 DE 25

S-ar putea să vă placă și