0% encontró este documento útil (0 votos)
105 vistas35 páginas

Algoritmos

Este documento presenta una introducción al lenguaje de programación Borland C++. Explica que Borland C++ es un lenguaje orientado a objetos que utiliza las herramientas de C y C++. El curso enseña los conceptos básicos de programación como algoritmos, pseudocódigo, diagramas de flujo, variables, constantes y tipos de datos. También introduce conceptos más avanzados como estructuras de datos, punteros y programación orientada a objetos.

Cargado por

Alejo977x
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
105 vistas35 páginas

Algoritmos

Este documento presenta una introducción al lenguaje de programación Borland C++. Explica que Borland C++ es un lenguaje orientado a objetos que utiliza las herramientas de C y C++. El curso enseña los conceptos básicos de programación como algoritmos, pseudocódigo, diagramas de flujo, variables, constantes y tipos de datos. También introduce conceptos más avanzados como estructuras de datos, punteros y programación orientada a objetos.

Cargado por

Alejo977x
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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

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
AUXVAR1+17

SUM0

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
Leer R
Calculo del rea
S=pi*R*R
Calculo de la longitud
L=2*pi*R
Escribir S,L
Fin

INICIO
LEER R
CALCULAR S =pi*R*R
CALCULA L=2*pi*R
ESCRIBE S,L
FIN

INICIO

R
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
Pseudocodigo
Inicio
Leer F1,F2,theta
K=pi/180

L=2*pi*R

S, L

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 )


INICIO

ESCRIBIR R
FIN
DIAGRAMA N - S
INICIO
K=PI/180
LEER F1,F2,THETA

K=pi/180

F1,F2,

R = F1 + F 2 + F1F 2COS ( * K
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
emite billetes de las siguientes denominaciones:
200,100,50,20 y 10 .

Objeto_dato de Entrada: Q //Cantidad


Objeto_dato de Salida : b200, b100, b50, b20, b10
//denominacin de billetes

FIN

Pseudocodigo

Inicio
Leer Q
b200 =entero(Q/200)
Q=resto(Q/200)
b100=entero(Q/100)
Q=resto(Q/100)
b50=entero(Q/50)
Q=resto(Q/50)
b20=entero(Q/20)
Q=resto(Q/20)
b10=entero(Q/10)
Escribir b200,b100,b50,b20,b10
Fin

N-S
Leer Q

INICIO

b200 =entero(Q/200)
Q=resto(Q/200)
b100=entero(Q/100)
Q=resto(Q/100)
b50=entero(Q/50)
Q=resto(Q/50)
b20=entero(Q/20)
Q=resto(Q/20)
b10=entero(Q/10)

b200=entero(Q/200)
Q=resto(Q/200)
b100=entero(Q/100)
Q=resto(Q/100)
b50=entero(Q/50)
Q=resto(Q/50)
b20=entero(Q/20)
Q=resto(Q/20)
b10=entero(Q/10)
Escribir b200,b100,b50,b20,b10
Fin

TEMA: INSTRUCCIONES

b200,b100,b50,b20
,b10

FIN

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
Proceso de Cierta
Fin de SI
DIAGRAMA

CONDICION

PROCESO

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
realizar el proceso para esta alternativa
VERDADERA. En caso contrario debera
realizar la alternativa FALSA.
Pseudocodigo
Si (condicion )es Verdaddera entonces
Proceso_Verdadad
Sino
Proceso_Falso
Fin del Si

INICIO

DATOS

V
CONDICION

PROCESO_F

PROCESO_V

NASSI SCHNEIDERMAN(N S)
ESCRIBIR

CONDICION
FALSO

VERDAD

PROCESO_F

FIN

PROCESO_V
ESCRIBIR

INICIO

Ejemplos FIN
de alternativa simple
par.

Ingresar desde teclado un numero y emitir un


Solucion
Objetos deatos de entrada: A
Objeto dato de Salida: A es par
Pseudocodigo
Inicio

Ing. Daniel Osorio Maldonado

RESTO(A/2)=0

ESCRIBIR

FIN

mensaje si el numero ingresado es


V

Mensaje= PAR

Pgina 10 de 183

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

A>B

Tempo=A
A=B
B=Tempo

ESCRIBIR
A, B

FIN

INICIO

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


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

Ing. Daniel Osorio Maldonado

ingresada
E
V
E>=18

Men, E

Fin

Mayor de Edad

Pgina 11 de 183

UNI FIM
BORLAND C++

Fin del Si
Escribir
Men, E
Fin

inicio
Leer E
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
A,B
Leer A y 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= No es
Men= A es divisible por B
possible la division
Sino
Men = A no es divisible por B
Fin del Si
F
A>B
Sino
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 es
divisible por B

Men= A no es
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
Men=Sobre Saliente
Si no
Si N>=15 entonces
Men= NOTABLE
Sino
Si N>=13 entonces
Men= Aprobado
Sino
Men= Asistente
Fin del Si
Fin del Si
Fin del Si
Escribir Men
Fin

F
N>=17

SOBRE
SALIENTE

N>=15

V
Notable

N>=13

F
Aprobado

Asistente

Men

INICIO

N-S
INICIO
LEER NOTA N
SI N>=17
NO

SI
N>=15

NO

SI

NO N>=13
ASISTE

SI

SOBRESALIENTE

NOTABLE

APROB

ESCRIBIR MEN
FIN

Ing. Daniel Osorio Maldonado

Pgina 13 de 183

UNI FIM
BORLAND C++

INICIO

A,B

A= B

B mayor que A

A>B
V

A mayor que B

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
Si (A > B) entonces
A es mayor en B
Si no
Si (A = B) entonces
A es igual a B
Si no
B es mayor que A
Fin del Si
Fin del Si

INICIO

A,B

B mayor que A

A= B

A>B
V

A mayor que B

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

F
NOTA<>-1

T
T

NOTA=10

LEER NOTA

T
SW

SWCIERTO

Escribir Hubo 10

Escribir Hubo 10

IMPRIME

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.
Pseudocodigo
Condicion o var_Selectora
En Caso que (Var_Selctora) sea
Caso 1 proceso_1
Caso 2 proceso_2
Caso 3 proceso_3
.
Caso N proceso_N
Caso X proceso_Desconocido
Fin del Caso

INICIO

Leer Dato

Condicion

Var_alterna1

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
: diferencia
: producto
: divisin entera
: residuo
: potencia

Mas
Menos
Por
Entre
Residuo
Potencia

=+
=-
=*
=?
=
= ~

solucion:
Definir objetos_datos
Objeto_dato de entrada:
operador,Ope1,Ope2.
Objeto_dato de salida : Resultado.

Pseudocodigo:

Definir los Operadores:


Inicio
Leer operador
Ingrese : Ope1, Ope2
En CASO que Operador SEA
+
: Resultado = Ope1 + Ope2
-
: Resultado = Ope1 Ope2
*
: Resultado = Ope1 * Ope2
?
: SI Ope2 es diferente de 0
entonces
Resultado = Ope1 ? Ope2
si no
Resultado =0
Fin del SI
: SI Ope2 es diferente de 0

Ing. Daniel Osorio Maldonado

Entonces
Resultado =Residuo(Ope1/Ope2)
si no
Resultado =0
Fin del SI
~
:Resultado=Ope1 elevado al Ope2
Otro Caso :Rsultado : No existe Operacin
Fin del Caso
Imprimir respuesta
fin

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

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
=-
Por
=*
Entre
=?
Residuo
=
Potencia =~

IMPRIMIR
RESULTADO

FIN

DIGITAR EL OPERADOR A
USAR
INGRESE :
OPERANDO1
OPERANDO2

OPERADOR

Resultado = Operando1 + Operando2

Resultado = Operando1 - Operando2

Resultado = Operando1 * Operando2

No
RESULTADO =

Operando2
Diferente de

Si
Resultado= Ope1 ? Ope2

RESULTADO=RESIDUO(OPER1/OPER2)

RESULTADO=(OPE1)~(OPE2)

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
CONDICION
SI

NO
Diagrama Nassi_Schneiderman
IMPRIMIR

ACCIONES

MIENTRAS < CONDICION>


FIN

Accion1
Accion2
Accion3

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


D=

FIN

1
1
1
1
1
+
+
+
+K+
A A + B A + 2 B A + 3B
A+ N *B

A,B,N

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

Suma=0.
Mientras(C=N) hacer

Ing. Daniel Osorio Maldonado

SUMA=0 ; C=1

Pgina 20 de 183

UNI FIM
BORLAND C++

AB=(A+c*B).
Inverso=1/AB.
Suma=Suma+Inverso.
C++.
Fin del mientras
Escribir: Suma=Suma+1/A.
Fin

C<N

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.

Su = 2 +

4 6 8
+ + + ...
3 5 7

Solucion:
Objetos_Datos de Entrada: N
Objetos_Datos de Salida:
suma de posiciones pares: sp
suma total de elementos: su
Pseudocodigo
Inicio
Leer N
Establecer variables
i=1; par=0;Su=0;
mientras(i<=N)
si(resto (i/2=0)entonces
sp=2*i/(2*i-1)
fin del si
su=2*i/(2*i-1)
i=i+1
fin del mientras
escribir su, sp

INICIO
N

i=1,su=0,sp=0
F
i<-N

V
Resto(i/2)=0

sp,su

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

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

i=i+1

Instruccin de control Repetitivo


hacer procesesos
mientras(condcion)

Proceso 1

En este tipo de Instruccin de control repetitivo


difiere un poco con respecto al mientras en el
sentido que las instrucciones se realizan al menos

Proceso 2

Ing. Daniel Osorio Maldonado

una
V

Condicin
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,
y luego hallar la suma de sus cifras, el numero
invertido y la cifra mayor.
Por ejemplo 1234, la suma es:10, invertido es
4321 y la cifra mayor es 4.
Objetos_datos de entrada y Salida
Objeto_Dato de Entrada: Numero
Objeto_Dato de Salida:Salida numero invertido.

INICIO

Leer num

inverso 0,Su 0, M0

Pseudocodigo
Inicio
Leer numero
Inicializar variables : inverso 0, Su0,M0
Hacer
digito resto(M/10)
Inverso inverso*10+digito.
Su Su+digito
Si (digito>M) entonces
M digito
Fin del si
numero=entero(numero/10)
Mientras(numero>0)
Escribir inverso, Su, M
Fin

dgtresto(num/10)

inversoinverso*10+dgt
Su Su+digito
V
dgt>M

Mdgt

numentero(nume/10)
F

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:

S=

1
2
3
4

+ ...
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
..
Fin del desde/para
Diagrama N-S

Para Vcont=
Valor_inic, Valor_fin
HACER

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
consiste en mostrar todos los divisores de
ese numero ingresado.
Cuando el numero Ingresado tiene por
divisores a la unidad(1) o al mismo numero
mostrara un
mensaje diciendo El Numero es Primo

INICIO

Lee ne
ContDivi=0

SOLUCION
Objetos_Datos de ENTRADA Y SALIDA
Objejo_Datos de Entrada: el Numero
entero(NumeEnte)
Objeto_Dato de Salida : numero de
divisores(NumeDivi), mensaje
PSEUDOCODIGO
Inicio
Leer un Numero entero: NumeEnte
Definir la variable Contador de Divisores e
Inicializarla a 0
NumeDivi=0
Contabilizar los divisores y mostrarlos
PARA Divisor=1 HASTA NumeEnte,

HACER
SI Residuo de NumeEnte/Divisor=0,
ENTONCES

Escribir Divisor
ContDiv=ContDiv+1
Fin del SI
Escribir mensaje
SI ContDiv=2,ENTONCES
MENSAJE Numero Primo

SINO

MENSAJE No es Primo
Fin del Si
Fin

Ing. Daniel Osorio Maldonado

para Divisor=1, hasta ne

Resto(ne/Divisor)=0

Escribir Divisor

F
ContDivi=ContDivi+1

ContDivi=2

No es Primo

Numero Primo

MENSAJ
DIVISORE

FIN
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
char
Do
Far
inline
new
public
struct
volatile

auto
class
double
float
int
operator
register
union
while

break
const
else
for
interrup
pascal
signed
unsigned
time

case
default
enum
friend
long
private
sizeof
virtual
rand

continue
delete
extern
if
near
protected
static
void
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
1. Ms alta

2. Unaria

Operador
()
[]
->
::
.
!
+
++
-&
*
sizeof
new
delete

Ing. Daniel Osorio Maldonado

Que realiza (o ejecuta)


llamada de una funcin
Subscripcin de un Arreglo
C++ selector de componente Indirecto
C++ acceso o resolucin del alcance
C++ selector de componente directo
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
Devuelve el tamao del operando en ocho bits
(separacin de memoria dinmica en C++ )
(liberacin de memoria dinmica en C++ )

Pgina 27 de 183

UNI FIM
BORLAND C++

3. Miembros de acceso
4. Multiplicativos
5. Aditivo
6. Desplazo
7. Relacional

Categora #2
8. Igualdad
9.
10.
11.
12.
13.
14. Operador Ternario

15. Asignacin

16. La coma

. *
*
*
/
%
+
<<
>>
<
<=
>
>=
Operador
==
!=
&
^
|
&&
||
?:

C++ Referencia a un campo


C++ Referencia a un campo
Multiplica
Divide
Resto ( mdulo o resto de la Divisin entera )
Binario ms
Binario menos
Desplazamiento de bits a la izquierda
Desplazamiento de bits a la derecha
Menor que
Menor que o igual que
Mayor que
Mayor que o igual que

=
*=
/=
%=
+=
-=
&=
^=
|=
<< =

Que realiza (o ejecuta )


Igual a (tambien identicamente igual a)
No es igual a
A nivel de bits Y
A nivel de bits XOR
A nivel de bits 0
Lgico y
Lgico o
(a >b )? Indica if (a) then x, else y
Donde el operador > puede ser cualquier otro
operador, <, >=, <=, =.
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

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.
Ejemplo
#include<iostream.h>
//Simule el lanzamiento de un dado y adivine el
#include<conio.h>
valor de la cara en una tirada
#include<stdlib.h> // obligado ; <time.h>
#include<iostream.h>
opcional
#include<conio.h>
main(){
#include<stdlib.h>//librera para los nmeros
randomize();int Vf=45;Vi=1;
//pseudoaleatorios
int m;
main(){ randomize();
m=rand()%33 //genera valores desde 0 hasta 32
int cara=random(6)+1;
w=random(Vf-Vi-1)+1; //genera valores desde 1
cout<< "El Valor de una tirada es " <<cara;
hasta 45
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)
//Se pide generar 03 valores aleatorios en
el rango [7,17] y halla el mayor

Ing. Daniel Osorio Maldonado

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>

Pgina 29 de 183

UNI FIM
BORLAND C++

main(){
float x,y,z;randomize();
x=random(17)+7;
gotoxy(10,5);cout<< "x ="<<x;
y=random(17)+7;
gotoxy(10,7);cout<< "y ="<<y;
z=random(17)+7;
gotoxy(10,9);cout<< "z ="<<z;
float m=x;
if(y>m)
m=y;

if(z>m)
m=z;
gotoxy(20,15);cout<< "El Mayor es
="<<m;
getch();
}
/*Salida
x =12
y =23
z =11
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
unsigned char
Char
Enum
unsigned int
short int
Int
unsigned long
Long
float
Double
long double
near (pointer)
far (pointer)

Ancho
8 bits
8 bits
16 bits
16 bits
16 bits
16 bits
32 bits
32 bits
32 bits
64 bits
80 bits
16 bits
32 bits

Ing. Daniel Osorio Maldonado

Tipo de Dato para 16 bits


Rango
0
-128
-32,768
0
-32,768
-32,768
0
-2,147,483,648
3.4 x 10-38
1.7 x 10-308
3.4 x 10-4932

to
to
to
to
to
to
to
to
to
to
to
not applicable
not applicable

255
127
32,767
65,535
32,767
32,767
4,294,967,295
2,147,483,647
3.4 x 10+38
1.7 x 10+308
1.1 x 10+4932

Pgina 30 de 183

UNI FIM
BORLAND C++

Tipo de Dato para (32-bits)


Tipo

Ancho

unsigned char
Char
short int
unsigned int
Int
unsigned long
Enum
Long
Flota
Double
long double
near (pointer)
far (pointer)

8 bits
8 bits
16 bits
32 bits
32 bits
32 bits
16 bits
32 bits
32 bits
64 bits
80 bits
32 bits
32 bits

Rango

-128
-32,768
0
-2,147,483,648
0
-2,147,483,648
-2,147,483,648
3.4 x 10-38
1.7 x 10-308
3.4 x 10-4932

To
To
To
To
To
To
To
To
To
To
To
not aplicable
not aplicable

255
127
32,767
4,294,967,295
2,147,483,647
4,294,967,295
2,147,483,647
2,147,483,647
3.4 x 10+38
1.7 x 10+308
1.1 x 10+4932

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

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
\n
\t
\b
\a

Normal
Nueva lnea
Tab. horizontal
Retroceso
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

Sentencia 2

Verdadero

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(<condicin>){
instruccin}
Ejemplo
#include<iostream.h>
main( ){
int a;
cout<<Ingrese
a:;cin>>a;
if(a>0)
cout<<a es Positivo;
getch( );
}

Ing. Daniel Osorio Maldonado

if else (doble)
if(<condicion>){
instruccion1}
else{
instruccion2}

if else if

if(<condicin>){
instruccin a ;}
else if(<condicin>){
instruccin b;}
else if(<condicin>);{
instruccin c;}
Valor Ejemplo:
.
#include<iostream.h>
.
main(){
else{
float a,b;
instruccin n;}
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());

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

EXP_CONST 1
EXP_CONST 2
EXP_CONST 3

INSTRUCCIN 1
INSTRUCCIN 2
INSTRUCCIN 3

EXP_CONST N

INSTRUCCIN N

OTRO CASO

INSTRUCCIN X

MENSAJE
Sintaxis :

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

FIN

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