Está en la página 1de 35

Universidad Nacional de Ingenieria

Facultad de Mecanica

BORLAND C++ 5.0


CON APENDICE EN MATLAB

Ingeniero Daniel Osorio Maldonado


UNI FIM
BORLAND C++

NTRODUCCION
Borland C++ es un lenguaje de programacin orientado a Objetos que utiliza como plataforma las
herramientas del lenguaje C estndar y del Lenguaje C++ .
El curso esta orientado para aquellas personas que deseen conocer y aprender a programar con una
herramienta de un lenguaje de programacion que tiene dentro de sus caracteristicas el ser bastante flexible
y facil de manipular en cuanto a su sintaxis.
Debe tener en cuenta que esta herramienta ha servido para desarrollar otras aplicaciones que hoy en dia
vemos en el mercado.
El curso empieza con una breve descripcion del diseo a mano de los pasos a seguir en la solucion de un
problema este diseo es conocido como la etapa algoritmica que puede contener la parte
textual(pseudocodigo) y la parte grafica(Diagrama de Flujo).
A esta etapa se le debe dar la importancia necesaria, ya que es aqu donde se plantea el camino ha seguir.
El curso se va desarrollar integramente haciendo uso del editor, herramienta que permitir el manipuleo de
variables en linea de textos.
Se seguir luego la descripcin del Entorno Integrado de Desarrollo del Borland C++. El esqueleto o
estructura del Lenguaje Borland C++/C++ que , acompaar durante todo el curso. Se dar nfasis a la
tcnica de programacin en el uso correcto de la sintaxis, el buen uso del tipo de dato desde las principales
y luego sus derivadas,las Instrucciones de control simples o multiples y luego las instrucciones de control
repetitivas, se tratar el tema de los arreglos, recursividad, los punteros, las estructuras, asignacin
dinamica de memoria, para finalmente terminar con un enfoque preliminar de lo que se entiende por
programacin orientada a objetos, con ejemplos sencillos.
En el Apndice se desarrolla una primera parte de Matlab en su etapa, sin llegar aprofundizar con la idea
que sirva de apoyo en la formacin del estudiante
En cuanto a la Progragramacion Orientada a Objetos, el uso de los proyectos y la programacion en windows
se ha reservado para un segundo Curso.

INTRODUCCIN A LA PROGRAMACIN
El Objetivo es Familiarizar al alumno con el entorno del Lenguaje de Programacin verstil y fcil de manipular
como es Borland C++; es mi deseo que Ud aproveche y aplique los conocimientos adquiridos, tanto en clase de
teoria como en el Laboratorio.
Algunos conceptos a tomarse en cuenta:
Dato(s)
Es una informacin que va a ser representada en un programa para su posterior modificacin.
Lenguaje maquina
Conjunto de instrucciones numricas en sistema binario (1 0 0 1 ) reconocido por el computador como
micro_operaciones.
Preprocesador
Permite la inclusin de archivos(#include), sustitucin de macros(#define) y compilacin condicional, las lneas
que comienzan con # contiene instrucciones para que el compilador realice ciertas tareas antes de que la
compilacion del programa se active es decir antes que el compilador traduzca el programa fuente en codigo
mquina. Su sintaxis es independiente del resto del lenguaje, siendo necesaria que estas lneas sean escritas
desde la primera columna del programa.
Compilador
Es un programa encargado de traducir las instrucciones de un programa a instrucciones de lenguaje de
maquina, verifica que no exista errores sintacticos del Lenguaje de programacin .
Sentencia
Describe el conjunto de acciones a seguir especificado en un lenguaje de programacin que ser ejecutado
por el computador.
Sintaxis
La sintaxis de un lengueje de programacion es el conjunto de reglas para formular instrucciones
gramaticalmente correctas para el lenguaje sea cual fuere. Ahora bien, en la practica significa esto que una
instruccin en Borland C++ con la sintaxis correcta tiene una forma apropiada especificada para su
compilador, de tal manera que ste aceptar la instruccin y no generar un mensaje de error.

Ing. Daniel Osorio Maldonado


Pgina 3 de 183
UNI FIM
BORLAND C++

TEMA: ALGORITMOS
PSEUDOCODIGO / DIAGRAMA DE FLUJO
Los algoritmos pueden constituir por as decirlo en un listado de instrucciones que indican el camino a seguir
para dar solucin a un problema y que puede o no ser ser resuelto por una computadora , generalmente el
algoritmo viene acompaado de un pseudocdigo y un diagrama de flujo.
Cuando el Algoritmo se ha desarrollado en forma correcta, el paso siguiente es llevar el pseudocodigo a la
codificacion del loenguaje de programacion.
Como ya se explic, la codificacion del algoritmo(pseudocodigo) en un determinado lenguaje debe
respetar su sintaxis para que el compilador pueda traducirlo en Lenguaje Maquina y hallar la solucion al
problema planteado.

ALGORITMO: Es un conjunto de pasos, procedimientos o acciones, que nos permite alcanzar un


resultado, resolviendo el problema planteado.
Etapas en la solucin de un Problema.
Un anlisis profundo del problema planteado.
Diseo y construccin del Algoritmo.
Verificacin del algoritmo.

Se entiende que por verificacin del algoritmo, el seguimiento del mismo con datos que se ajusten a las
caracterstica del problema que se va a resolver.

Caracterstica:
Los algoritmos en general deben ser:
Precisos :Los pasos a seguir en el algoritmo deben ser precisados claramente.
Definido: Debe dar siempre el mismo resultado para un conjunto de datos idnticos de entrada.
Finito : El algoritmo, independientemente de la complejidad del mismo, debe ser siempre de
longitud finita.

Metodologa:
Definicin de los Objetos_Datos de Entrada y Salida(Ingreso desde teclado y salida por pantalla)
Objetos_Datos de Entrada: Datos que se ingresan por teclado.
Objetos_Dato de salida: Datos u objetos de resultado.
Procesamiento de los Objetos_Datos (datos).
Visualizacion/Impresin de resultados.

Pseudocodigo
Es la parte textual del algoritmo,se podra decir que es como la receta para un paciente o tambin una
receta culinaria para cocinar un plato. Generalmente es la traduccin del Ingls de la sintaxis del
compilador al idioma con el que estamos trabajando.

Ing. Daniel Osorio Maldonado


Pgina 4 de 183
UNI FIM
BORLAND C++

DIAGRAMA DE FLUJO
Un diagrama de flujo es la representacin grfica de un algoritmo.
En cuanto a la simbologia utilizada para la representacin, se tomara la norma (ANSI ISO).

DIAGRAMA DEFINICION

INICIO FIN

ENTRADA DE DATOS

PROCESOS/CONSTANTES

F V BIFURCACIN(V/F)

PROCESOS(Desde/Para)

LLAMADA A (PROCEDIMIENTOS/FUNCIONES)

ESCRITURA

PANTALLA

CONECTOR

CONECTOR A SIGUIENTE PAGINA

Direcciones del flujo del programa

Ing. Daniel Osorio Maldonado


Pgina 5 de 183
UNI FIM
BORLAND C++

DIAGRAMA NASSI_SCHNEIDERMAN(N-S)
Tambien conocido como diagrama de CHAPIN es como un diagrama de flujo en el que se omiten las flechas
y las cajas son contiguas. Las acciones sucesivas se escriben en cajas sucesivas y, como en los diagramas
de flujo se pueden escribir diferentes acciones en una caja y dependiendo de las acciones de control estas
cambian para su mejor interpretacin, tal como se vera en los ejercicios y aplicaciones.

Inicio
Accion 1
Accion 2
Accion 3
Fin

Codificacin y Programacin
Es el Proceso mediante el cual se traduce un algoritmo a una codificacin en un lenguaje de programacin
especifico.

Programa
Conjunto de instrucciones que se ha desarrollado con la finalidad de que sea ejecutado por el computador.

Objetos_Datos
Son Objetos_Datos de un programa, todos aquellos datos manipulados por las Instrucciones.
Mediante ellos, en un programa podremos realizar el almacenamiento de los datos y de los resultados de
las distintas operaciones que intervienen en la solucin del problema.
Se les da este nombre solo para efectos de entrada y salida de datos en la solucion de un problema.

IDENTIFICADORES
Los identificadores son palabras creadas por el programador para dar nombre a los objetos y dems
elementos que necesita declarar en un programa: variables, constantes, tipos, estructuras de datos,
archivos, procedimientos.
Deben empezar siempre con una letra, no deben existir espacios en el nombre, no empezar con un
numero.

Z; labora_1; practica1; aulamb514dh

VARIABLES :
Una variable es un ente (objeto_dato) que almacena una posicin de memoria cuyo valor puede cambiar
durante el desarrollo del algoritmo o ejecucin del programa.
Una variable se identifica por los siguientes atributos:
a) nombre que le identifica.
b) tipo que describe el universo en donde se desenvuelve la variable.
Los nombres de las variables, a veces conocidos como Identificadores, suelen constar de varios
caracteres alfanumricos de los cuales el primero debe necesariamente ser una letra.
Ejemp: int par; float num_123 ; char opc1 ; char nombre[15] ; short pequenio1 ;
par=2. unsignet sin_signo;

CONSTANTES: Son identificadores que generalmente son declarados en el programa antes de las
variables, estos identificadores por lo general asumen un valor dado por el programador, ste valor no
cambia durante el proceso del programa.

Ing. Daniel Osorio Maldonado


Pgina 6 de 183
UNI FIM
BORLAND C++

Tipos de datos en general:


Se denomina tipo de datos a las caractersticas propias de un objeto_dato o entidad, por ejemplo la edad
o el domicilio de un registro, deben tener una caracterstica que la diferencie una de otra, la edad debe
ser entero y el domicilio cadena (tambin se conoce como alfanumrico), podemos decir entonces que
existen, en la mayora de los lenguaje de Programacin, los siguientes tipos de datos:
Numricos
Alfanumricos
Carcter
Lgicos (booleano) : cierto/falso
Este tipo de Dato no existe en C++/Borland C++, lo que existe es la representacin 0 para falso y 1 para
verdadero.
En Borland C++ es bueno sealar que el tipo de dato bool permite que una variable cualquiera se le
inicialice con los terminos de true (verdadero=1) y false (falso=0), esto se aprecia cuando forzamos la salida
de las variables, se notar que true equivale a 1 y que false equivale a 0.
Esto se nota en el siguiente programa, rseuelto con Borland C++ y Visual C++ pero como proyecto Win
Console:
#include<iostream.h>
#include<conio.h>
main( ){
bool t,f;
t= "True";
cout<<"El Valor verdadero de t es "<<t;
cout<<"\nEl valor falso de t equivale a "<<!t<<endl;

getch();
} Dando como resultado:
el valor verdadero de t es 1
el valor falso de t quivale a 0

Caen en este campo tambien los Interruptores o Cnmutadores(SWITCH), que son Objetos_Datos que
se utilizan en un programa y solo puedentomar dos valores (CIERTO y FALSO, 0 y 1),reallizando la funcion
de transmitir informacin de un punto a otro dentro del programa. Podemos decir que actua como
recordatorios manteniendo caracteristicas de objeto o clculos que estuvieron presentes en un momento
anterior de la ejecucin del programa.
Se utilizan inicializandolos con un valor y en los puntos en que corresponda se cambia al valor contrerio, de
tal forma que examinando su valor posteriormente podemos realizar la transmisin que deseabamos.
Ejemplos:
1er ejemplo con Borland C++ int i,sp=0,simp=0,sw=0; //asume falso
int sw=0; //se asume falso for(i=1;i<=100;i++)
........do{ if(i%2==0){
if(a<b) sp=sp+i;
cout<<proceso1; sw=1; // asume verdadero }
proceso2; else
sw=1 // asume verdadero simp=simp+i;
else cout<<"La suma de los primeros 100 pares es
cout<<proceso3 "<<sp<<endl
while(sw!=1);// mientras no sea verdadero <<"\nLa suma de los primeros 100 impares es
................ "<<simp;
2do Ejemplo de aplicacin con Borland C++ getch();
/*Programa que suma los pares y los impares de }
100 numeros enteros positivos*/ /*Salida
#include<iostream.h> La suma de los primeros 100 pares es 2550
#include<conio.h> La suma de los primeros 100 impares es 2500 */
main(){
Vea otra aplicacin y con diagrama de flujo, mas adelante.

Ing. Daniel Osorio Maldonado


Pgina 7 de 183
UNI FIM
BORLAND C++

Operacin de Asignacin: La operacin de asignacin es el modo de


darle valores a una variable. La operacin de asignacin se representa con el smbolo .
Nombre de la variable<nom_var> dato o valor numerico.
Ejemp. A 45
No olvidarse que los datos son almacenados en la memoria de la computadora, especficamente en celdas
de memoria y una direccion, de all que se hace necesario tener un nombre que las identifique , ya sea
constante o variable. El siguiente grfico esquematiza lo dicho:

LAS VARIABLES EN LA MEMORIA


VAR1=66
SUM0
AUXVAR1+17

ACUVAR1+5 SUMSUM+AUX+ACU

SUM0+(66+17)+(66+5)

Como puede apreciar los valores son almacenados en bloque, claro que esta explicacin es muy simplista,en
realidad cada valor es almacenado en caldas de memoria y tienen una direccion que determina que espacio
de memoria va a utilizar.
El espacio de memoria la determina el tipo de datos que es utilizado por la variable o identificador. Esto
hace que un lenguaje de programacin difiera de un programa de aplicacin.
Espero que con estas lineas se comprenda la razon por la cual es necesario que una variable tenga un tipo
de datos.

TEMA: Los Procesos Secuenciales


Los procesos secuenciales, son todos aquellos procesos en los cuales la solucion de un problema se realiza
de manera directa y sin desviaciones o bifurcaciones.
P1: hallar el Area y la longitud de una circulo
Objeto_datos de Entrada:R (radio)
Objeto_datos de Salida :Area, Longitud

DIAGRAMA N S
Pseudocodigo
Inicio INICIO
Leer R LEER R
Calculo del rea
CALCULAR S =pi*R*R
S=pi*R*R INICIO
CALCULA L=2*pi*R
Calculo de la longitud
L=2*pi*R ESCRIBE S,L
Escribir S,L FIN R
Fin

S=pi*R*R

P2: Hallar la resultante de 02 Fuerzas que forman un ngulo


Objeto_dato de Entrada: F1,F2, theta
Objeto_dato de Salida : Resultante R L=2*pi*R
Pseudocodigo
Inicio
Leer F1,F2,theta
S, L
K=pi/180

FIN

Ing. Daniel Osorio Maldonado


Pgina 8 de 183
UNI FIM
BORLAND C++
Calculo de la Resultante
R= F12 + F 2 2 + 2 F1F 2 cos(thetaK )
ESCRIBIR R INICIO
FIN

DIAGRAMA N - S K=pi/180
INICIO
K=PI/180
LEER F1,F2,THETA F1,F2,
R = F1 + F 2 + F1F 2COS ( * K
2 2

ESCRIBIR R
FIN
R= F12 + F 2 2 + 2 F1F 2 cos( * k )

P4. Desarrolle un algoritmo que permita simular el retiro


de dinero de un cajero automatico.El cajero solo R
emite billetes de las siguientes denominaciones:
200,100,50,20 y 10 .
Objeto_dato de Entrada: Q //Cantidad FIN
Objeto_dato de Salida : b200, b100, b50, b20, b10
//denominacin de billetes
Pseudocodigo
Inicio
INICIO
Leer Q
b200 =entero(Q/200)
Q=resto(Q/200)
b100=entero(Q/100) Q
Q=resto(Q/100)
b50=entero(Q/50)
Q=resto(Q/50) b200 =entero(Q/200)
b20=entero(Q/20) Q=resto(Q/200)
Q=resto(Q/20) b100=entero(Q/100)
b10=entero(Q/10) Q=resto(Q/100)
b50=entero(Q/50)
Escribir b200,b100,b50,b20,b10
Q=resto(Q/50)
Fin b20=entero(Q/20)
N-S Q=resto(Q/20)
b10=entero(Q/10)
Leer Q
b200=entero(Q/200)
Q=resto(Q/200)
b100=entero(Q/100) b200,b100,b50,b20
Q=resto(Q/100) ,b10
b50=entero(Q/50)
Q=resto(Q/50)
b20=entero(Q/20) FIN
Q=resto(Q/20)
b10=entero(Q/10)
Escribir b200,b100,b50,b20,b10
Fin

TEMA: INSTRUCCIONES QUE CONTROLAN UN PROGRAMA

Las estructuras de seleccin permite al usuario tener un control del programa mediante el uso de
instrucciones de control,constituyendo mecanismos para dirigir el flujo de ejecucin, dentro de estas
a).Instruccin de Control Simle.
La estructura Si - Entonces

Ing. Daniel Osorio Maldonado


Pgina 9 de 183
UNI FIM
BORLAND C++
Indica a la computadora que efecte una serie de una o mas instrucciones basadas en el resultado de
una comparacin.
INICIO

Pseudocodigo
SI condicion es cierta, entonces V
CONDICION
Proceso de Cierta
Fin de SI F
PROCESO
DIAGRAMA NASSI_SCHNEIDERMAN(N-S)

CONDICION

VERDAD (SI)
PROCESO 1
FIN
PROCESO 2
ESCRIBIR

FIN

b). Instruccin de Control de alternativa doble


Indica a la computadora que debera realizar
la comparacin de 02 alternativas, si se
cumple la alternativa verdadera debera INICIO
realizar el proceso para esta alternativa
VERDADERA. En caso contrario debera
realizar la alternativa FALSA. DATOS
Pseudocodigo
Si (condicion )es Verdaddera entonces
F V
Proceso_Verdadad
CONDICION
Sino
Proceso_Falso
Fin del Si PROCESO_F PROCESO_V

NASSI SCHNEIDERMAN(N S)
ESCRIBIR
CONDICION

FALSO VERDAD
FIN
PROCESO_F PROCESO_V

ESCRIBIR INICIO

Ejemplos FIN
de alternativa simple A
Ingresar desde teclado un numero y emitir un mensaje si el numero ingresado es
par.
Solucion V
Objetos deatos de entrada: A RESTO(A/2)=0
Objeto dato de Salida: A es par
Pseudocodigo Mensaje= PAR
Inicio F

Ing. Daniel Osorio Maldonado ESCRIBIR


Pgina 10 de 183

FIN
UNI FIM
BORLAND C++
Leer A
Si(residuo de A/2=0) entonces
Mensaje= El numero es par
Fin del Si
Escribir Mensaje
Fin

Ingresar 02 numeros y luego ordenarlos mediante un algoritmo de menor a mayor


Solucion
Objetos datos de entrada: A,B
Objeto dato de Salida: Ordenado
Pseudocodigo
Inicio
Leer A,B

INICIO

A,B

V
A>B

Tempo=A
F A=B
B=Tempo

ESCRIBIR
A, B

FIN

INICIO

Ingrese una edad y decir si es mayor de edad e imprimir la edad ingresada


Objeto_Dato de Entrada: Edad E
Objeto_Dato de Salida :Men y edad
Pseudocodigo V
Inicio E>=18
Leer E
Si (E>=18) entonces
Men= Mayor de Edad Mayor de Edad
F

Ing. Daniel Osorio Maldonado Men, E


Pgina 11 de 183

Fin
UNI FIM
BORLAND C++
Fin del Si
Escribir inicio
Men, E
Leer E
Fin Si(E>=18)

VERDAD (SI)
Men= Mayor de Edad

ESCRIBIR
Men,E
FIN

Ejemplos de alternativa doble


Se tienen 02 numeros ingresados desde teclado verificar si A es divisible por B
Solucion
Objetos Datos de Entrada: A,B INICIO
Objetos Datos de Salida : mensaje
Inicio
Leer A y B A,B
Si A=0 entonces
men= A debe ser diferente de cero F V
Sino A=0
Si B=0 entonces
Men= no es posible la divisin V Men= A debe ser
B=0
Si (A>B) entonces diferente de cero
Si (resto(A/B)=0) entonces F
Men= A es divisible por B Men= No es
Sino possible la division
Men = A no es divisible por B
Fin del Si F
Sino A>B V
Men=
A debe se mayor que B F
A debe ser Residuo(A/B)=0
Fin del Si mayor que B
Escribir Men
Fin V
Men= A no es Men= A es
divisible por B divisible por B

Mensaje

Se tienen cuatro mensajes para las notas obtenidas en un curso de Actualizacion. Cuando la nota obtenida
es igual o mayor a 17 debe decir Sobre Saliente;FIN
si la nota es igual o mayor a 15 Notable;igual o mayor
a 13 Aprobado; Asistente para el resto.
Haga el Algoritmo
Objeto_Dato de entrada:Nota
INICIO
Objeto_Dato de Salida :Mensaje
Pseudocodigo
Inicio N

Ing. Daniel Osorio Maldonado


Pgina 12 de 183
UNI FIM
BORLAND C++
Leer Nota (N)
Si N>=17 entonces F
Men=Sobre Saliente N>=17
Si no V
Si N>=15 entonces SOBRE
Men= NOTABLE F N>=15 SALIENTE
Sino
Si N>=13 entonces V
Men= Aprobado Notable
Sino
Men= Asistente
Fin del Si V
N>=13
Fin del Si
Fin del Si F
Escribir Men
Fin Asistente Aprobado

Men

INICIO

N-S

INICIO

LEER NOTA N

SI N>=17
NO SI

N>=15
NO SI SOBRESALIENTE
NO N>=13 SI NOTABLE

ASISTE APROB

ESCRIBIR MEN

FIN

Ing. Daniel Osorio Maldonado


Pgina 13 de 183
UNI FIM
BORLAND C++

INICIO

A,B

F V
A>B

F V A mayor que B
A= B

B mayor que A A es igual a B

Mensaje

FIN

Algoritmo que lee 02 numeros y nos dice cual es el mayor o son iguales

Pseudocodigo
Inicio
Leer A y B INICIO
Si (A > B) entonces
A es mayor en B
Si no A,B
Si (A = B) entonces
A es igual a B
Si no F V
A>B
B es mayor que A
Fin del Si
Fin del Si F V A mayor que B
A= B

B mayor que A A es igual a B

Mensaje

FIN

Ing. Daniel Osorio Maldonado


Pgina 14 de 183
UNI FIM
BORLAND C++
Un ejemplo con (sw): Algoritmo que lee un secuencia de notas(con valores que van desde 0 a 10) que
termina con el valor -1 y nos dice si hubo o no alguna nota con valor 10.

Objeto_datos:
NOTA : variable para leer la secuencia.
SW :switch para controlar la aparicion de notas 10 con los
siguientes significados:
FALSO :No hay nota 10
CIERTO :Si hay nota 10

INICIO

SWFALSO

LEER NOTA

T F
NOTA<>-1
T
T F T
NOTA=10 SW

SWCIERTO Escribir Hubo 10 Escribir Hubo 10


F

IMPRIME
LEER NOTA

FIN

Ing. Daniel Osorio Maldonado


Pgina 15 de 183
UNI FIM
BORLAND C++

Tema: Instruccin de Control de Seleccin Multiple (conocido


como do Case; Case of; switch() )
Permite tener un control de una Var_Selectora, como condicin para varias alternativas; dependiendo
del Lenguaje de Programacin la condicin se le conoce como:
Var_Selectora ->(Case...), cuando se trata de Pascal, Vsual Basic, Visual Fox, etc.
Var_Selectora ->Switch cuando se trata de Lenguaje C o Borland C++ /Turbo C++,Visual C++,
usado tambien por Matlab.
Case(Var_Select) of cuando se trata de Pascal

Consideraciones a tener en cuenta en el uso del control multiple

La Var_Selectora puede ser variable, expresin, funcin; empero, sin embargo, el valor representado
debe ser por decir lo menos, un valor escalar es decir un dato numrico entero o un carcter . No se acepta
una cadena o un dato real.
Se debe entender que cada alternativa tiene un nico valor y que va ha realizar una determinada accin o
proceso.

Modo en que Funciona

(a) El valor de la Var_Selectora o(condicin) se evala en las alternativas uno a uno.

(b) Si halla una coincidencia que contenga el valor de la Var_Selectora, entonces ejecutara el proceso
correspondiente dando por finalizado la estructura, para luego buscar otra coincidencia, y ejecutar.

(c) Existe un termino que se usa ocasionalmente y que representa la accin cuando ninguna de las
alternativas se cumple, es el caso del si no , el termino no es obligatorio, pero permita clarificar una
aplicacin.
INICIO
Pseudocodigo
Condicion o var_Selectora
En Caso que (Var_Selctora) sea Leer Dato
Caso 1 proceso_1
Caso 2 proceso_2
Caso 3 proceso_3 Condicion
.
Caso N proceso_N
Caso X proceso_Desconocido
Var_alterna1
Fin del Caso Proceso1

Var_alterna2 Proceso2

Var_alterna3 Proceso3

Var_alternaN ProcesoN

Var_alternaX Proceso_Desco

IMPRIMIR

FIN

Ing. Daniel Osorio Maldonado


Pgina 16 de 183
UNI FIM
BORLAND C++
DIAGRAMA N - S

1 CONDICIONANTE O
VAR_SELECTORA
2
3

Proceso_1 Proceso_2
Proceso_3 X
.... N
Proce_N Proc_Desc

Aplicacin: Programar una operacin Aritmtica con 02 operandos: Operando1 y Operando2


(enteros O reales) y que de acuerdo al Operador elegido habra un resultado. Considere que ud. Ha
diseado una calculadora que le permita realizar operaciones matemticas elementales y que Los
operadores permitidos son:
+ : suma Mas =+
- : diferencia Menos =-
* : producto Por =*
? : divisin entera Entre =?
: residuo
Residuo =
~ : potencia
Potencia = ~
solucion:
Definir objetos_datos
Objeto_dato de entrada:
operador,Ope1,Ope2.
Objeto_dato de salida : Resultado.
Pseudocodigo:
Definir los Operadores: Entonces
Inicio Resultado =Residuo(Ope1/Ope2)
Leer operador si no
Ingrese : Ope1, Ope2 Resultado =0
En CASO que Operador SEA Fin del SI
+ : Resultado = Ope1 + Ope2 ~ :Resultado=Ope1 elevado al Ope2
- : Resultado = Ope1 Ope2 Otro Caso :Rsultado : No existe Operacin
* : Resultado = Ope1 * Ope2 Fin del Caso
? : SI Ope2 es diferente de 0 Imprimir respuesta
entonces fin
Resultado = Ope1 ? Ope2
si no
Resultado =0
Fin del SI
: SI Ope2 es diferente de 0

Ing. Daniel Osorio Maldonado


Pgina 17 de 183
UNI FIM
BORLAND C++
N-S
INICIO
Establecer Operandos op1,op2
Mas +; Menos -; Por *; Entre ?; Residuo ; Potencia ~

op1+op2 -

*
op1-op2
op1*op2 ?
op2<>0
no si
error no op2<>0si ~ X
Se deja como ejercicio para que sea completado.

Podra Ud. Completar el cuadro?

Ing. Daniel Osorio Maldonado


Pgina 18 de 183
UNI FIM
BORLAND C++ INICIO

Inicializar constantes
Mas =+
Menos =- IMPRIMIR
Por =* RESULTADO
Entre =?
Residuo =
Potencia =~
FIN
DIGITAR EL OPERADOR A
USAR

INGRESE :
OPERANDO1
OPERANDO2

OPERADOR

+ Resultado = Operando1 + Operando2

- Resultado = Operando1 - Operando2

* Resultado = Operando1 * Operando2

Operando2
No Diferente de Si

RESULTADO = Resultado= Ope1 ? Ope2

RESULTADO=RESIDUO(OPER1/OPER2)

RESULTADO=(OPE1)~(OPE2)
~
1

TEMA: Instruccin de Control Repetitivas


Son aquellas Instrucciones que permiten que ciertas aplicaciones en las cuales una opercion o conjunto de
ellas deben repetirse muchas veces, por consiguiente se puede afirmar que un programa que lee una lista

Ing. Daniel Osorio Maldonado


Pgina 19 de 183
UNI FIM
BORLAND C++
de numeros puede repetir la misma secuencia de mensajes al usuario e instrucciones de lectura, hasta que
todos los numeros del rango establecido sean leidas.
Para efectos del C++/Borland C++ se van a tomar en cuenta slo las tres mas usadas:
mientras ->(While )
Hacer proceso Mientras (Condicion)-> (Do while)
Desde/Para-> (For)
Para otros lenguajes de programacion son en alguno casos combinaciones de ellas o en su defecto usan
otra nomenclatura como por ejemplo para Pascal es comun usar la instruccin (repeat until) repetir
hasta que, mientras que en Visual Basic es comun usar (do until) hacer hasta que ,estas son las mas
representativas de estos lenguajes de programacion.

Instruccin de control Repetitivo Mientras


la estructura repetiriva mientras(en Ingles WHILE o DOWHILE:hacer mientras ) es auella en que el
cuerpo del bucle se repite mientras se cumple una determinada condicin.se pueden representar:
Pseudocodigo
mientras (condicin ) sea verdadera
proceso
fin del mientras

NO
CONDICION
Diagrama Nassi_Schneiderman
SI IMPRIMIR

ACCIONES MIENTRAS < CONDICION>


FIN
Accion1
Accion2
Accion3

1. Desarrollar la suma de los primeros M terminos de la siguiente suma :

FIN
1 1 1 1 1
D= + + + +K+
A A + B A + 2 B A + 3B A+ N *B
A,B,N

solucion: SUMA=0 ; C=1


definir objetos_datos E/S
objeto_dato de entrada: A,B,N.
Objeto_dato de salida : SUMA DE N.
1
Pseudocodigo:
Inicio
Leer A,B,N.
Definir C=1 //contador

Suma=0.
Mientras(C=N) hacer 1

Ing. Daniel Osorio Maldonado


Pgina 20 de 183
UNI FIM
BORLAND C++

AB=(A+c*B).
Inverso=1/AB.
Suma=Suma+Inverso.
C++. C<N
Fin del mientras
Escribir: Suma=Suma+1/A.
Fin SUMA=SUMA+1/A
AB=(A+C*B)
INVERSO=1/AB
SUMA=SUMA+INVERS IMPRIMIR
SUMA
C++

FIN

2. En la siguiente serie se pide hallar la suma de los elementos que ocupan las posiciones pares,y la
suma total de elementos, sabiendo que el # de termninos es igual a 50.

4 6 8
Su = 2 + + + + ...
3 5 7 INICIO
Solucion:
Objetos_Datos de Entrada: N
Objetos_Datos de Salida: N
suma de posiciones pares: sp
suma total de elementos: su
Pseudocodigo i=1,su=0,sp=0
Inicio
Leer N F
Establecer variables i<-N
i=1; par=0;Su=0;
mientras(i<=N) V sp,su
si(resto (i/2=0)entonces V
Resto(i/2)=0
sp=2*i/(2*i-1)
fin del si F
su=2*i/(2*i-1) sp=2*i/(2*i-1)
i=i+1
fin del mientras
escribir su, sp FIN

sp=2*i/(2*i-1)

i=i+1

Instruccin de control Repetitivo


hacer procesesos
Proceso 1
mientras(condcion)
En este tipo de Instruccin de control repetitivo
difiere un poco con respecto al mientras en el Proceso 2
sentido que las instrucciones se realizan al menos una

V
F
Condicin

Ing. Daniel Osorio Maldonado Escribir


Pgina 21 de 183

FIN
UNI FIM
BORLAND C++
vez antes de comprobar si la condicin se cumple, es muy parecida al repeat until del Pascal.
Pseudocodigo
Hacer (procesos)
mientras (condicin ) sea verdadera
fin del hacer .

DIAGRAMA (N-S)
PROCESO1
PROCESO2

MIENTRAS CONDICION

Problema de Aplicacin
Se ingresa un Numero de varias cifras, INICIO
y luego hallar la suma de sus cifras, el numero
invertido y la cifra mayor.
Por ejemplo 1234, la suma es:10, invertido es Leer num
4321 y la cifra mayor es 4.
Objetos_datos de entrada y Salida
Objeto_Dato de Entrada: Numero
inverso 0,Su 0, M0
Objeto_Dato de Salida:Salida numero invertido.

Pseudocodigo
Inicio dgtresto(num/10)
Leer numero
Inicializar variables : inverso 0, Su0,M0
Hacer inversoinverso*10+dgt
digito resto(M/10) Su Su+digito
Inverso inverso*10+digito.
Su Su+digito
V
Si (digito>M) entonces
dgt>M
M digito
Fin del si
numero=entero(numero/10) F
Mdgt
Mientras(numero>0)
Escribir inverso, Su, M
Fin
numentero(nume/10)

F
V
num> 0

Inverso , Su, M

FIN

Ing. Daniel Osorio Maldonado


Pgina 22 de 183
UNI FIM
BORLAND C++
Esta instruccin hacer procesos mientras (condicion) sea verdadera, es utilizada para consistenciar y
controlar la repeticion de un propgrama sin necesidad de salir, dandole al usuario el control del mismo. Vea
el siguiente ejemplo:
Se desea hallar la suma de los primeros N terminos de la siguiente serie:

1 2 3 4
S= + + ...
t +1 2t + 3 3t + 5 4t + 7

Instruccin de control Repetitivo for


Esta instruccin de control repetitivo considera: que el proceso debe iniciarse para un valor inicial que
vendra a ser el inicio del contaje, una segunda expresin que contiene el valor mximo o mnimo que puede
tener el contaje y determina cuando termina el ciclo, hasta aqu tal vez es el formato que usa la
mayoria de los lenguajes de programacin; sin embargo para el lenguaje C, C++ o Borland C++,
existe lo que se conoce como el incremento o decremento (se suma o se reta el contaje).
Para otros lenguajes es tal vez mas facil iniciar con el Valor Maximo para luego ir disminuyendo en unida en
unidad.

Ing. Daniel Osorio Maldonado


Pgina 23 de 183
UNI FIM
BORLAND C++

Diagrama de Flujo (for )


Pseudocodigo
INICIO
desde/para vi=1 hasta vf de uno en uno Hacer
Proceso_A
Proceso_B Para Vcont=
.. Valor_inic, Valor_fin
Fin del desde/para HACER
Diagrama N-S

PROCESO
desde/para de var_contador=Vi Hasta Vf

ProcesoA
ProcesoB IMPRIMIR

Fin desde/para

FIN

Aplicacin
Se va a Ingresar un Numero y la tarea
INICIO
consiste en mostrar todos los divisores de
ese numero ingresado.
Cuando el numero Ingresado tiene por
Lee ne
divisores a la unidad(1) o al mismo numero
mostrara un
mensaje diciendo El Numero es Primo ContDivi=0

SOLUCION
Objetos_Datos de ENTRADA Y SALIDA para Divisor=1, hasta ne
Objejo_Datos de Entrada: el Numero
entero(NumeEnte)
Objeto_Dato de Salida : numero de
V
divisores(NumeDivi), mensaje Resto(ne/Divisor)=0

PSEUDOCODIGO
Inicio Escribir Divisor
Leer un Numero entero: NumeEnte F
Definir la variable Contador de Divisores e
Inicializarla a 0 ContDivi=ContDivi+1
NumeDivi=0
Contabilizar los divisores y mostrarlos
PARA Divisor=1 HASTA NumeEnte,
HACER F V
ContDivi=2
SI Residuo de NumeEnte/Divisor=0,
ENTONCES
Escribir Divisor
ContDiv=ContDiv+1 No es Primo Numero Primo
Fin del SI
Escribir mensaje
SI ContDiv=2,ENTONCES
MENSAJE Numero Primo MENSAJ
SINO DIVISORE
MENSAJE No es Primo
Fin del Si
Fin FIN

Ing. Daniel Osorio Maldonado


Pgina 24 de 183
UNI FIM
BORLAND C++

TEMA: ELEMENTOS BSICOS DEL BORLAND C++


Smbolos
Estn clasificados en:
letras : A..Z, a..z (no incluye la y )
dgitos : 0 1 2 3 4 5 6 7 8 9
smbolos especiales
se tienen los siguientes:
simples :

SIMPLES

+ - * / = < >

; ! : % & { } . ,

^ | sizeof

DOBLES
<= >= == !! |= &&

?: -> >> << != ( ) [ ] += -=

>>= <<=

// /* */

Identificadores

Es el nombre mediante el cual se define una variable, constante, tipo, funcin, estructura, unin, clase,
objeto, etc.
Los identificadores declarados en Boland C++ tienen las siguientes caractersticas.
Pueden estar conformados por 127 caracteres como mximo.
Ejemplos :
Suma = ( 4 caracteres )
Contador = ( 8 caracteres )
Se hace distincin entre maysculas, minsculas.
Ejemplo :
SUMA =25, suma=25; en ambos el identificador para el compilador es diferente
Tienen que ser distintas de las palabras reservadas.
Ejemplos :
continue, incluye,if , while, bool, for , etc
El primer carcter debe ser letra subrayado
Ejemplo :
Suma = Correcto
1 Suma= Incorrecto el 1er carcter debe ser letra */
Suma1= Correcto

Ing. Daniel Osorio Maldonado


Pgina 25 de 183
UNI FIM
BORLAND C++
Suma 2m= no debe haber espacios entre el nombre//incorrecto
Suma_2m= correcto
Suma+si= incorrecto, no debe haber operacin entre su nombre
S9_suma= correcto
S9+suma=incorrecto

Palabras reservadas
Son identificadores que tienen un significado especial establecido por el lenguaje de programacin.
Siempre deben escribir en minsculas.
Se lista a continuacin las palabras reservadas definidas por el compilador Borland C++

asm auto break case continue


char class const default delete
Do double else enum extern
Far float for friend if
inline int interrup long near
new operator pascal private protected
public register signed sizeof static
struct union unsigned virtual void
volatile while time rand random()

Comentarios
Sirven para documentar un programa y siempre van entre /* */ //.
Ejemplo :
/* Este es un comentario que tiene
mas de una linea */
//Otro comentario pero solo de una linea

EXPRESIONES Y OPERACIONES DE BORLAND C++


Expresin
Es un conjunto de operaciones ( Datos y/o variables ) y operadores que actan realizan operaciones
sobre los operandos, y que mediante el uso racional de parntesis puede forzar las expresiones matemticas
convenientes.
Ejemplo : 13*A+(11+B/46)
( x +41) /37

El cierto y falso en Borland C++


Borland C++, como ya hemos visto tiene una manera de tratar el tipo de dato booleano es decir cierto,
falso sin embargo, es bueno hacer notar que en algunas aplicaciones es imprescindible la forma natural
que tiene el lenguaje, me refiero al 0 y 1, ya que para borland C++ el 0 significa falso, por el contrario el
1.
Lo podran apreciar en las aplicaciones que estan en ste libro.

Ing. Daniel Osorio Maldonado


Pgina 26 de 183
UNI FIM
BORLAND C++

Tema: Los Operadores de Borland C++


[ ] ( ) . -> ++ -- &
* + - ! sizeof /
% << >> < > < = >
== != | && !! ? :
= * = / = % = + = - = << =
> > & = | = , # ##

Las siguientes operaciones son especficos de C++/Borland C++

Los operadores # y ## son usados nicamente por el preprocesador.


Al usar un operador depende de la forma de el contexto, para que el mismo operador & puede ser
interpretado como :
Un and a nivel de bits ( A & B )
Un operador de direccin ( &A )
En C++ un paso de parmetro por referencia a una funcin.
En el primer caso el & es un Operador Binario.
En el segundo caso el & es un Operador Unario.

Prioridad de Operadores
En Borland C++ la tabla de Prioridad de los Operadores esta dividida en 16 categoras.
La categora #1 tiene la ms alta Prioridad.
La categora #2 ( los Operadores Unarios ) toman la segunda Prioridad, hasta el Operador coma (,) que
tiene igual Prioridad

Para el caso de los operadores unarios ( la categora #2 ), condicional ( la categora #14 ) y la de asignacin
( la categora #15)
La agrupacin de estos operadores se ejecutan de Derecha a Izquierda todo, otra asociacin de los
operadores de Izquierda a Derecha.
Teniendo presente la prioridad de los operadores podemos deducir que resultado se obtendr al momento
que le programa ejecute una determinada sentencia, compuesta por expresiones que enlazan mediante los
operadores a las variables y datos del programa, predeterminando de esta forma que operador se desarrolla
primero.

Categora #1 Operador Que realiza (o ejecuta)


1. Ms alta () llamada de una funcin
[] Subscripcin de un Arreglo
-> C++ selector de componente Indirecto
:: C++ acceso o resolucin del alcance
. C++ selector de componente directo
2. Unaria ! Negociacin Lgica ( NO)
A nivel de bits ( complemento a I )
+ Unitario ms
- Unitario menos
++ Preincremento o postincremento
-- Predecremento o postdecremento
& Direccin de la variable
* Indireccin
sizeof Devuelve el tamao del operando en ocho bits
new (separacin de memoria dinmica en C++ )
delete (liberacin de memoria dinmica en C++ )

Ing. Daniel Osorio Maldonado


Pgina 27 de 183
UNI FIM
BORLAND C++
3. Miembros de acceso . * C++ Referencia a un campo
* C++ Referencia a un campo
4. Multiplicativos * Multiplica
/ Divide
% Resto ( mdulo o resto de la Divisin entera )
5. Aditivo + Binario ms
- Binario menos
6. Desplazo << Desplazamiento de bits a la izquierda
>> Desplazamiento de bits a la derecha
7. Relacional < Menor que
<= Menor que o igual que
> Mayor que
>= Mayor que o igual que

Categora #2 Operador Que realiza (o ejecuta )


8. Igualdad == Igual a (tambien identicamente igual a)
!= No es igual a
9. & A nivel de bits Y
10. ^ A nivel de bits XOR
11. | A nivel de bits 0
12. && Lgico y
13. || Lgico o
14. Operador Ternario ?: (a >b )? Indica if (a) then x, else y
Donde el operador > puede ser cualquier otro
operador, <, >=, <=, =.
15. Asignacin = Asignacin sencilla
*= Asigna el producto
/= Asigna el cociente
%= Asigna el resto ( residuo)
+= Asigna la suma
-= Asigna la diferencia
&= Asigna AND a nivel de bits
^= Asigna XOR a nivel de bits
|= Asigna Or a nivel de bits
<< = Asigna desplazamientos de bits a la izquierda

>> = Asigna desplazamientos de bits a la derecha

16. La coma , Evaluacin

El Operador Ternario (a>b)? a:b


Este operador reemplaza en cierta medida a la instruccin if<condicion> es verdadero entonces
proceso_verdadero, si no (else) proceso_falso.
Para nuestro caso (a>b)? a:b significa que si la condicon es verdadera entonces resulta a sino
resulta b.
Ejemplo: se tienen 03 nmeros A =30, B=19 y C=27, se pide hallar el menor de ellos
#include<iostream.h>
#include<conio.h>
main(){
float A =30, B=19 y C=27;
M=((A<B)? A:B) //el menor se almacena en M
N=((M<C)? M:C)// el menor se almacena en N
Cout<< El menor valor se almacenara en N<<N;

Ing. Daniel Osorio Maldonado


Pgina 28 de 183
UNI FIM
BORLAND C++
getch();
}}

Los Numero PseudoAleatorios


El Lenguaje C/C++ permite generar nmeros pseudoaleatorio, que pueden simular ciertos eventos, para ello
necesita de las librerias #include<stdlib.h> y #include<time.h>; mientras que la primera tiene que ver con la
librera estndar la otra utiliza el reloj del sistema.
Herramientas a usar
a). ramdomize(); al inicio y antes de utilzar las funciones que genere los valores pseudoaleatorios, esta
funcin genera valores frescos cada vez que es invocado.
b). rand()%N; genera valores pseudoaleatorios desde 0 hasta( N-1)
c). random(Valor final Valor inicial -1)+1; genera valores pseudoaleatorios desde un valor inicial hasta un
valor final. En la practica se usa la forma reducida : random(val_num)+ val_inicial.
#include<iostream.h> Ejemplo
#include<conio.h> //Simule el lanzamiento de un dado y adivine el
#include<stdlib.h> // obligado ; <time.h> valor de la cara en una tirada
opcional #include<iostream.h>
main(){ #include<conio.h>
randomize();int Vf=45;Vi=1; #include<stdlib.h>//librera para los nmeros
int m; //pseudoaleatorios
m=rand()%33 //genera valores desde 0 hasta 32 main(){ randomize();
w=random(Vf-Vi-1)+1; //genera valores desde 1 int cara=random(6)+1;
hasta 45 cout<< "El Valor de una tirada es " <<cara;
.. getch();
} }
Salida
El Valor de una tirada es 5

Direccionando en la pantalla( gotoxy(col,fil))


Borland C++ permite direccionar en la pantalla, una ubicacin que permita al usuario una mejor vista de la
aplicacin.
El comando gotoxy(col,fil), indica, un desplazamiento vertical(x) y un desplazamiento horizontal(y).
En la pantalla, el desplazamiento vertical va desde 0 hasta 80 caracteres, mientras que el desplazamiento
horizontal va desde 0 hasta 25.
Puede apreciarse en el siguiente diagrama, una salida para A+4.
Para una entrada vale lo referido.

0 1 2 310152030506070 80
1
2 gotoxy(20,2); cin>>A;
3

15
gotoxy(30,15);cout<< A+4<<A+4;
18

25

//Programa que usa gotoxy(x,y) #include<iostream.h>


//Se pide generar 03 valores aleatorios en #include<conio.h>
el rango [7,17] y halla el mayor #include<stdlib.h>

Ing. Daniel Osorio Maldonado


Pgina 29 de 183
UNI FIM
BORLAND C++
main(){ if(z>m)
float x,y,z;randomize(); m=z;
x=random(17)+7; gotoxy(20,15);cout<< "El Mayor es
gotoxy(10,5);cout<< "x ="<<x; ="<<m;
y=random(17)+7; getch();
gotoxy(10,7);cout<< "y ="<<y; }
z=random(17)+7; /*Salida
gotoxy(10,9);cout<< "z ="<<z; x =12
float m=x; y =23
if(y>m) z =11
m=y; El Mayor es =23 */

Tema: Tipos de Datos en C++/Borland C++


Determina la naturaleza del dominio de valores que puede tomar una variable u Objeto_Dato, as como
tambin los operadores que pueden procesar dicha variable.
Existen 2 tipos de datos
Tipos Fundamentales.
Tipos Derivados.

Tipos Fundamentales

Tipos enteros Tipos reales Tipo cadena Tipo vacio

Tipos Derivados

Punteros Estructuras Uniones Arreglos Funciones Clases

Los tipos de Datos de acuerdo a la plataforma de bits de los


Fundamentales
Tipo de Dato para 16 bits
Tipo Ancho Rango

unsigned char 8 bits 0 to 255


Char 8 bits -128 to 127
Enum 16 bits -32,768 to 32,767
unsigned int 16 bits 0 to 65,535
short int 16 bits -32,768 to 32,767
Int 16 bits -32,768 to 32,767
unsigned long 32 bits 0 to 4,294,967,295
Long 32 bits -2,147,483,648 to 2,147,483,647
float 32 bits 3.4 x 10-38 to 3.4 x 10+38
Double 64 bits 1.7 x 10-308 to 1.7 x 10+308
long double 80 bits 3.4 x 10-4932 to 1.1 x 10+4932
near (pointer) 16 bits not applicable
far (pointer) 32 bits not applicable

Ing. Daniel Osorio Maldonado


Pgina 30 de 183
UNI FIM
BORLAND C++

Tipo de Dato para (32-bits)

Tipo Ancho Rango

unsigned char 8 bits To 255


Char 8 bits -128 To 127
short int 16 bits -32,768 To 32,767
unsigned int 32 bits 0 To 4,294,967,295
Int 32 bits -2,147,483,648 To 2,147,483,647
unsigned long 32 bits 0 To 4,294,967,295
Enum 16 bits -2,147,483,648 To 2,147,483,647
Long 32 bits -2,147,483,648 To 2,147,483,647
Flota 32 bits 3.4 x 10-38 To 3.4 x 10+38
Double 64 bits 1.7 x 10-308 To 1.7 x 10+308
long double 80 bits 3.4 x 10-4932 To 1.1 x 10+4932
near (pointer) 32 bits not aplicable
far (pointer) 32 bits not aplicable

El uso de datos de tipo double y float es aplicado en las matemticas como punto flotante. (Nmeros
reales)
En Borland C++ realiza en forma automtica en las operaciones la asignacin del punto flotante cuando ste
no se especifique.

Tipos de dato void (tipo de dato vaco)


Este tipo de dato es utilizado cuando una funcin realiza una tarea y la funcin no retorna valor
alguno.
Ejemplo :
void error ( char *name)
{ cout <<Nombre Inicial << name :
}

Cuando una funcin no tiene parmetros

Ejemplo :
int LeerN ( )
{
procesos;
return 1;
}

Puede tambin ser utilizado para declarar punteros como vaco. Con lo que se puede
operar con datos de distintos tipos. Esto es porque al compilar este no determinar el
tamao de la variable puntero vaco.

Ing. Daniel Osorio Maldonado


Pgina 31 de 183
UNI FIM
BORLAND C++

Ejemplo
#include<iostream.h>
#include<conio.h>
main(){
int x;float r;
void *p=&x; //*p apunta a x
cout<< "Ingrese un valor para x ";
cin>>x;
cout<< "La direccion de x es "<<p
<<sizeof(*p);
getch();
}
/*Ingrese un valor para x 200
La direccion de x es 0x0012ff88 */

TEMA : Estructura de un Programa en Borland C++


Un programa en Borland C++ est dividido en cuatro secciones bien definidas.

Instrucciones del Preprocesador : #include <librerias >


Macros y Constantes : #define macro
: const var1;
Variables Globales : unsigned int a,b;
Struct , unions, class .
Prototipo de Funciones
Funcion Principal main () {
Cuerpo del Programa Principal
Llamad a Funcion Principal
Implementacion de Funciones

1 Instrucciones del Preprocesador


El preprocesador posibilita incluir diversas instrucciones para el compilador en el cdigo fuente de un
programa en Borland C++. Lo cual expande al mbito del entorno de programacin, permitiendo la
correcta manipulacin de constantes y funciones en la codificacin de un programa.
2 El preprocesador posibilita incluir diversas instrucciones para el compilador en el cdigo fuente
de un programa en Borland C++. Lo cual expande al mbito del entorno de programacin,
permitiendo la correcta manipulacin de constantes y funciones en la codificacin de un programa.
3 Variables Globales:Variables que seran reconocidas tanto a nivel de Programa Principal como
en las funciones.
4 struct, unio,class: se define en este lugar permiten definir un tipo de dato y definir un objeto.
5 Prototipo de Funciones: En esta seccin solo se especifica la cabecera de las funciones
definidas por el usuario.
6 Funcin Principal
Todo programa en Boland C++ por lo menor debe estar conformado por una funcin, la cual es llamada
funcin principal (funcin main())
Al ejecutarse un programa est funcin ser la nica que se encargar del control de todo el software
desarrollado.
Ejemplo :

Ing. Daniel Osorio Maldonado


Pgina 32 de 183
UNI FIM
BORLAND C++
main ( )
{ // Inicio de la funcin principal
int a, b; // Datos del programa
long prod // Resultado
a = 19; // Asigna al valor 19 a la variable a
b = 13; // Asigna al valor 13 a la variable b
prod = a*b; // Asigna el producto a*b en prod
cout<<prod:
getch();
} // fin

1. Cuerpo de la funcion
Es el centro de la codificacin en ella se resuelve todo el codigo del programa.
2. Llamada a Funcion
Se da cuando ha sido declarada una funcion y es aqu donde se le llama por su nombre
3. Implementacin de Funciones

Las funciones definidas por el usuario son codificadas en esta seccin ejemplo:

static double escribir(int x,int y);// prototipo de la funcion


main( ){
int a,b;
double r;
cout<<"\nIngrese el valor de a: ";cin>>a;
cout<<"\nIngrese el valor de b: ";cin>>b;
r=escribir(a,b);
cout<<"La suma de "<<a<<" y "<<b
<<" = "<<a+b<<" Elevado a la Potencia 3 es: "<< r<<"\n";
getch( );
}

static double escribir(int x=2,int y=3)


{
cout<<setw(15);
return(pow(x+y,3));
}

Sentencia de Asignacin
Es el proceso mediante el cual se asigna un valor dato a una variable previamente definida en dicha
funcin
La asignacin se realiza mediante el operador =

Sintaxis
identificadores _ Variable = dato ;
En dato puede ser el resultado de una expresin en la cual se procesan variables y constantes definidas por
el usuario, esto quiere decir que la expresin de la derecha es evaluada y el resultado es asignado a la
variable especificada a la izquierda.
Su=1;
par=2
Su +=par;

Entrada y salida de datos.


Las operaciones de entrada no forman parte del conjunto de sentencias de Borland C++. Por lo que
debe incluirse un fichero que contenga dichas funciones de Entrada y Salida I/O.
Lo que da lugar a tener una de las siguientes lneas de programa.
#include <stdio.h> //En ANSI C

Ing. Daniel Osorio Maldonado


Pgina 33 de 183
UNI FIM
BORLAND C++
#include <iostream.h> // Para C++/Borland C++ con objetos

#include iostream.h
Las comillas dobles indican que el fichero ser buscado primero en el directorio actual de trabajo y si no es
encontrado continuar con la bsqueda en el los directorios standard especificados en el submen Options
del Ambiente Integrado (Editor Compilador) del Borland C++.
Si el fichero especificado se escribe de la siguiente forma:

#include<iostream.h>
El fichero solo ser buscado en el directorio standart.
El fichero iostream.h provee una serie de facilidades definidas en base a clases que se encargan de la
entrada y salida de datos y transformarlos al tipo de variable correspondiente.
Se tiene los siguientes Objetos
cout<<Pone caracteres en la salida estndar (pantalla)
cin>>Lee caracteres de la entrada estndar (teclado)

Salida
Permite la salida de datos por pantalla al tener una variable o expresin numrica como salida esta
es transformada a caracteres para ser mostrada en pantalla.
Ejemplo :
# include <iostream,h>
#include <math.h>
#include<conio.h>

main ( )
{
float a,b;
double poten;
cout<<Ingrese los Nmeros<<endl
<<Ingrese el valor de a: ;>>cin>>a;
cout<<Ingrese el valor de b: ;>>cin>>b;
poten=pow(a,b);
cout<<La Potencia de <<a<<Elevedo a
<<b<<Es <<poten<<endl;
getch( );
}
SECUENCIAS DE ESCAPE

Secuencia Normal
\n Nueva lnea
\t Tab. horizontal
\b Retroceso
\a Bell (alerta. bip)

TEMA: INSTRUCCIONES DE CONTROL


Las estructuras de seleccin permite al usuario tener un control del programa mediante el uso de
instrucciones de control,constituyendo mecanismos para dirigir el flujo de ejecucin, dentro de estas
Instrucciones, el Lenguaje C define tres categoras bien definidas:

Instrucciones de Seleccin(if..else; if then; ifelse if else ; switch).


Instrucciones de Iteracin(bucle lazo).
Instrucciones de salto(break, continue,exit).
I.Selectivas
Simples : if...else proceso de Verdadero
Dobles : ifcondicion proceso_V else proceso_F
Anidados: ifcondicion proceso_V else if condicion proc_verd else if condic

Ing. Daniel Osorio Maldonado


Pgina 34 de 183
UNI FIM
BORLAND C++
II Multiples :
switch(){
case .procesos.; break;

default:
}

III Repetitivas o de Iteracion : a) while() b)do . while() c)for (.)

INSTRUCCIONES SELECTIVAS O CONDICIONALES:

Falso Condicin Verdadero

Sentencia 2 Sentencia 1

Dado que las expresiones lgicas toman el valor de verdadero


o falso se necesita una instruccin de control que dirija al computador para ejecutar otras instrucciones, en
"C/C++" esta alternativa lo realiza con la instruccin o estructura de control

if (simple) if else (doble) if else if


if(<condicin>){ if(<condicion>){ if(<condicin>){
instruccin} instruccion1} instruccin a ;}
Ejemplo else{ else if(<condicin>){
#include<iostream.h> instruccion2} instruccin b;}
main( ){ else if(<condicin>);{
int a; instruccin c;}
cout<<Ingrese Valor Ejemplo: .
a:;cin>>a; #include<iostream.h> .
if(a>0) main(){ else{
cout<<a es Positivo; float a,b; instruccin n;}
getch( ); float div; Ejemplo:
} cout<<Ingrese a: ;cin>>a; resuelve una ecuacin de 1er grado con una
cout<<Ingrese b: ;cin>>b; incgnita:
if(b) <<"ax + b =0"<<endl
{div=a/b; <<endl;
cout<<"El resultado es: cout<<"a =";cin>>a;
"<<div;} cout<<"b =";cin>>b;
else if (a==0) {cout<<" No tiene Solucion ";}
{cout<<"Division por cero ";} else if(b==0){x=0; }
getch( ); else {x=(-1)*(b/a);}
} cout<<"La Solucin a la Ecuacin : "<<a<<"x
+ "<<b<<"=0 ";
cout<<setiosflags(ios::fixed|ios::showpoint);
cout<<setprecision(3)<<endl<<"Es X
="<<x;
cout<<"\n Otro Calculo :?[S][N] ";
opc=toupper(getch());

Ing. Daniel Osorio Maldonado


Pgina 35 de 183
UNI FIM
BORLAND C++
if(opc=='N')break;}
}

El compilador evala las expresiones condicionales desde arriba descendiendo, y tan pronto como el compilador
encuentre una condicin verdadera, ejecuta la instruccin asociada y salta el resto de la escalera. Si no es as se
ejecutara el "else" final. Si no hay else al final y son falsas las otras condiciones no se efecta nada.

La Instruccin switch
Esta instruccin, realiza comprobaciones mltiples o condiciones mltiples.
Borland C++ comprueba una variable sucesivamente frente a una lista de constantes enteras o de carcter,
luego de encontrar una
coincidencia, la computadora ejecuta las instrucciones o bloque de instrucciones que se asocian a la constante.

Default
Si al evaluar <expresin> esta toma un valor que no se encuentra en ninguna <exp_constant> de los casos entonces se
proceder con la ejecucin de la <instruccin por defecto>.

INICIO

EXPRESION

INSTRUCCIN 1
EXP_CONST 1

INSTRUCCIN 2
EXP_CONST 2

INSTRUCCIN 3
EXP_CONST 3

EXP_CONST N INSTRUCCIN N

OTRO CASO INSTRUCCIN X

MENSAJE

Sintaxis :
switch(<expression>) {
FIN
case <exp_const1>:
instruccin(s);break;

case <exp_const2>:
instruccin(s);break;

case <exp_const3>:
instruccin(s);break;
.
.
default :
instruction(s);

Ing. Daniel Osorio Maldonado


Pgina 36 de 183

También podría gustarte