Programa 7
Desarrollar un programa que
muestre el uso de las secuencias de escape.
Codificación en Borland #include<conio> #include<iostream> int main() { cout<<"ntSECUENCIAS DE cout<<"t——————–n"; cout<<" \n: Mueve el cout<<" Presione una tecla getch();cout<<"n";getch(); cout<<"n \r: Mueve el cout<<" Presione una tecla getch();cout<<"r";getch(); cout<<"nn \t: Mueve el cout<<" Presione una tecla getch();cout<<"t";getch(); cout<<"nn \a: Enciende cout<<" Presione una tecla getch();cout<<"a";getch(); cout<<"nn \': Muestra un apostrofe en la cout<<" Presione una tecla getch();cout<<" cout<<"nn \": Muestra cout<<" Presione una tecla getch();cout<<" cout<<"nn \\: Muestra cout<<" Presione una tecla getch();cout<<" cout<<"nn Press any key getch();return 800; } | Explicación Como se habrán podido dar cuenta las Las funciones son un tema que se va a tratar La sintaxis para declararar funciones es: |
Operadores aritméticos
En Borland C++ se definen 5 operadores básicos
que nos servirán para construir operaciones
más complejas.
Operador | Acción |
– (menos) | Este el símbolo menos y se usará |
+ (mas) | Este símbolo se usará para sumar |
* (por) | Este símbolo se usará para |
/ (división) | Este símbolo se usará para dividir |
% (módulo) | Este símbolo se usará para hallar |
Las reglas de agrupación y jerarquía de
los operandos es como nosotros acostumbramos. Por ejemplo: En la
operación 4+6×7 el compilador primero multiplicará
y luego sumará,
Programa 8
Desarrollar un programa que opere 2 números y
obtenga los resultados sgtes: resta, suma, producto,
cociente y el resto de dividir el primer número con el
segundo.
Codificación en Borland #include<iostream> #include<conio> int main(int a,int b) { cout<<"ntBORLAND C's cout<<"t—————————-n"; cout<<"nIngrese numero: cout<<"Ingrese otro cout<<"nLa resta es: cout<<"La suma es: cout<<"El producto es: cout<<"La division es: cout<<"El resto es: cout<<"nPress a key to getch(); return 36; } | Explicación La novedad en este código fuente es el |
Para poder hacer algo, primero debemos tener una
necesidad. En nuestro campo (informática) también será
así. No podemos poder desarrollar ni un solo programa
nuevo sino no tenemos necesidad alguna por algún software. Como ya sabemos,
"programar" es encontrar una solución adecuada y
óptima a un problema. Las principales
características de un programa son: tamaño (medido
en múltiplos de un byte), estabilidad o solidez (el
programa no se "cuelga") y versatilidad o eficacia (el
programa es muy bueno en lo que hace). Estas
características son las que harán exitoso a
nuestros programas. La relación entre estas
características es:
Esta la relación perfecta para cualquier
programa. Osea menor tamaño, alta solidez y eficacia.
¿Por que bajo tamaño? La respuesta a eso
está la ganancia de velocidad a la
hora de cargarse en la memoria el programa. Las otras dos
características se responda solas ¿verdad?. Para
implementar estas características en nuestros programas
será necesario disciplinarmos un poco y volvernos muy
analistas. Un programa refleja en algo el carácter del programador.
Ahora hablaremos un poco de las variables. Las variables
pueden clasificarse en variables de entrada y/o salida. Es muy
importante tener la capacidad de anticipar (en el mejor de los
casos) las variables que podamos necesitar para poder elaborar
nuestros programas. También es útil utilizar
identificar el tipo de la variable. Más adelante veremos
con más detalle las ventajas de usar variables de un tipo
con respecto a otro.
Recordando… En algebra estamos acostumbrados a
trabajar con ecuaciones
¿verdad? Observe la ecuación siguiente: X=4
¿Qué podemos deducir? Lo podemos deducir es que la
variable x tiene un valor igual a 4. Osea que sí sumamos
X+8 el resultado será 12 ¿cierto?. Ahora,
también estamos acostumbrados a esto: 2Y=Y+6
¿verdad? Si resolvemos la ecuación
hallaríamos que la variable Y tiene un valor igual 6.
Ahora, Qué pasa sí propongo la ecuación:
Z=Z+6? La respuesta a esto en algebra no tiene solución o
en todo caso la solución es el conjunto vacío.
Cuando programemos usaremos la expresión Z=Z+10 (por poner
un ejemplo) muchas veces con la finalidad de ahorrar la
declaración de variables en exceso.
Ahora voy a proponer la instrucción
sgte:
A=10;
A=A+5;
Como entendemos esto? Primeramente hay que entender
la computadora
no sabe resolver ecuaciones. En la instrucción:
a=10; le decimos al compilador
que almacena el valor 10 en la variable A. En la segunda
instrucción le decimos al compilador que almacene en la
variable A la suma de del valor de A con 5. En otras palabras la
instrucción: A=A+5;
es lo mismo que escribir: A=10+5;
Programa 9
Elabore un programa que muestre todo los
submúltiplos de una cantidad de dinero
dado.
Las monedas existentes son: 1 sol, 2 soles y 5
soles
Los billetes existentes son: 10 soles, 20 soles, 50
soles, 100 soles y 200 soles
Ejemplo: Sí el dinero
fuese 45 soles entonces el programa deberá mostrar que
existen 2 billetes de 20, 2 monedas de 2 soles y 1 moneda de un
sol.
Codificación en Borland #include<conio> #include<iostream> float main() { int dinero; cout<<"ntSUBMULTIPLOS DE cout<<"t————————-n"; cout<<"nCantidad de cout<<"nCalculando cout<<"nHay dinero=dinero%200; cout<<"Hay dinero=dinero%100; cout<<"Hay dinero=dinero%50; cout<<"Hay dinero=dinero%20; cout<<"Hay dinero=dinero%10; cout<<"nHay dinero=dinero%5; cout<<"Hay dinero=dinero%2; cout<<"Hay cout<<"nPress any key to getch();return 19.87; } | Explicación En este programa solo hemos declarado la Cuando una variable de tipo int se vea en |
La función
miembro getline()
Hasta ahora hemos visto la utilización del objeto
cin con su acompañante >> (operador de
extracción). Para entender lo que voy a tratar de explicar
voy a declar una variable así: char nombre[100]; Como ya saben, esta
variable de tipo char será capáz de almacenar 99
caracteres. Ahora voy a escribir otra instrucción:
cin>>nombre; En esta
instrucción se hace una parada y se empieza a extraer lo
que se pulse en el teclado.
Suponga que yo escriba: Carlos
Torres Torres. Ahora sí escribo esta otra
instrucción: cout<<nombre; ¿que creen que
mostrará en la pantalla? Lo que se mostrará
será tan solo: Carlos
y lo demás no se mostrará. Eso es por que el
operador >> incrustará todos los caracteres hasta
encontrar el primer espacio en blanco o el simbolo . Lo
demás no será guardado en la variable. Para poder
guardar espacios en blanco se usará la función
miembro getline().
La sintaxis es:
cin.getline(nombreDeLaVariable,tamañoDeLaVariable);
Ejemplo: cin.getline(nombre,100);
Programa 10
Elabore un programa que registre datos del usuario.
Estos datos son al gusto del mismo.
Codificación en Borland #include<iostream> #include<conio> double main() { char char sex[15]; float est,pes; int eda; cout<<"ntREGISTRO DE cout<<"t—————–n"; cout<<"Apellidos y cout<<"Fecha de cout<<"Sexo: cout<<"Estatura (metros): cout<<"Peso (kilogramos): cout<<"Edad: cout<<"nMostrando datos cout<<"nApellidos y cout<<"Fecha de cout<<"Sexo: cout<<"Estatura (metros): cout<<"Peso (kilogramos): cout<<"Edad: cout<<"nPress any key to getch();return 12.63; } | Explicación En el código fuente de este programa se int A; … Instrucción char B[5]; … cin>>A; … cin.getline(B,5); … cout<<"Chau!!!"; … Cuando llegue a la instrucción 3 como ya |
Manipulación y formateo de los
datos en la salida por pantalla
Para mejorar el aspecto de los datos en la salida se
usarán los manipuladores y formateadores. Estos
serán incrustados en el flujo abierto por cout.
Manipulador | Descripción |
dec | Convierte número a base decimal. |
hex | Convierte número a base |
oct | Convierte némero a base octal. |
endl | Inserta una nueva línea y limpia el |
ends | Inserta un cero nulo (/0) al final de la |
flush | Limpia el flujo de salida. |
setbase(int n) | Convierte número a base n. Este n puede ser |
resetiosflags(long) | Limpia el formato especificado por el indicador |
setiosflags(long f) | Establece el formato determinado por el indicador |
setfill(int c) | Coloca c el campo establecido por |
setprecision(int n) | Especifica la cantidad de decimales de un |
setw(int n) | Establece un ancho de campo. |
Tabla de indicadores de
formato usados por setiosflags
Indicador | Acción |
ios::left | Justifica la salida a la izquierda dentro del |
ios::right | Justifica la salida a la derecha dentro del campo |
ios::scientific | Muestra números de coma flotante en |
ios::fixed | Muestra en formato de punto fijo los |
ios::dec | Formatea (modifica) los números a base |
ios::hex | Formatea los números a base 16 |
ios::oct | Formatea los números a base 8 |
ios::uppercase | – |
ios::showbase | – |
ios::showpos | – |
ios::showpoint | – |
Programa 11
Desarrollar un programa que muestre el uso de los
manipuladores de Borland C++.
Codificación en Borland #include<iostream> #include<conio> #include<iomanip.h> //Para int main() { int Z=86400; //Variable solo para float W=62.5126; //Variable solo cout<<"ntMANIPULACION Y cout<<"t——————————–n"; cout<<setiosflags(ios::left); /*Justifica dentro del ancho de campo de cout<<"n"<<setw(17)<<"Manipulador"<<"Descripcionn"; cout<<setw(18)<<"nsetw(int cout<<"n"<<setw(17)<<"dec"<<"Convierte cout<<"Ejemplo: Z = cout<<" a Z = cout<<"n"<<setw(17)<<"hex"<<"Convierte cout<<"Ejemplo: Z = cout<<" a Z = cout<<"n"<<setw(17)<<"oct"<<"Convierte cout<<"Ejemplo: Z = cout<<" a Z = cout<<"n"<<setw(17)<<"endl"<<"Inserta cout<<"Presione una tecla getch();cout<<endl;getch(); cout<<"n"<<setw(17)<<"ends"<<"Inserta cout<<"Nota: este caracter cout<<"Presione una tecla getch();cout<<ends;getch(); cout<<"nn"<<setw(23)<<"flush"<<"Limpia cout<<"Presione una tecla getch();cout<<flush;getch(); cout<<"nn"<<setw(23)<<"setbase(int cout<<"Ejemplo Z = cout<<" a Z = cout<<"n"<<setw(23)<<"setfill(int cout<<"Ejemplo: cout<<"nn"<<setw(23)<<"setprecision(int cout<<"Ejemplo: INICIO W = cout<<"nnPress any key to getch();return 1821; } | Explicación En este programa es necesario el uso de la |
Bueno!. Estimados lectores, ha llegado la hora de
decirles que están ustedes capacitados para elaborar
programas. Ha llegado la hora de hacer un montón de
programas!!!
FULL
PRÁCTICA
Programa 12
Desarrolle un programa que halle la suma de los
N primeros números naturales.
Solución
Lo primero que debemos hacer es entender el problema.
Sí no entendemos el problema deberemos buscar a alguien
que sí los pueda entender. Sí después de
buscar no encontramos a alguien que los entienda pasamos al
siguiente problema. En un programa también es lo mismo. Lo
primero es entender qué es lo que se supone que
hará el programa? Sí ya se sabe lo que va a ser el
programa entonces ya todo está resuelto.
Para poder resolver este problema lo primero que hay que
hacer es reconocer los datos que tenemos. Sí observamos
con atención la parte "los N primeros
números naturales"
encontramos a N. Quién es N? Este valor se supone
será ingresado por el usuario. Entonces N es una variable
de Entrada. Ahora qué hacemos luego de pedir el valor de
N? Exacto!, tendremos que encontrar un algoritmo que
halle la suma con el dato N.
Gráficamente lo que piden es esto: 1 + 2 + 3 +
… + N. A continuación nos ponemos pequeños
ejemplos. Qué pasa sí N es 3. Lo que nos piden
sería: 1 + 2 + 3 que sería igual a 6. Ahora,
qué pasa se N fuese 5. En este caso lo se nos pide
sería: 1 + 2 + 3 + 4 + 5. Todos sabemos que esta suma la
podemos hacer hasta contando con los dedos. Ahora qué pasa
sí N fuese 100? En este terrible caso nos estaría
pidiendo sumar: 1 + 2 + 3 + … + 100 que no lo podríamos
sumar (es un decir) ni con papel y lápiz y sí lo
hiciésemo demoraríamos tanto que
olvidaríamos hasta casarnos. Nosotros solo hemos tomado
solo 3 posibles valores de los
infinitos que podría haber tomado N. Entonces tendremos
que hallar una fórmula que permita representar la suma
para cualquier valor de N.
Para hallar la fórmula (algoritmo)
hacemos:
Creo que todos ya conocían la fórmula de
esta suma y Carl Friedrich Gauss; gran matemático quien
fue su descubridor a los 6 años de edad.
Codificación en Borland #include<iostream> #include<conio> void main(int N,int { cout<<"ntSUMA DE LOS N cout<<"t—————————————-n"; cout<<"n1 + 2 + 3 + … + cout<<"nIngrese un valor //ALGORITMO QUE HALLA LA S=N*(N+1)/2; cout<<"La suma es: cout<<"nPress any key to getch(); } | Diagrama Nassi / Scheiderman
Como ya observaron el uso de diagramas N/S se basa en el uso de cajas o |
Programa 13
En la empresa Denver
un trabajador cuenta con seguro
obligatorio y es libre hacer horas extras. Por el seguro al
obrero se le descuenta el 5% de su sueldo. El pago por hora extra
es 30% más que el de una hora normal. Además la
empresa ofrece
una bonificación igual al 30% del ingreso total del
trabajador.
Con todo esto se pide desarrollar un programa que
elabore la boleta de pago de un trabajador.
Codificación en Borland
C++
#include<conio> //Para usar
getch() y gotoxy()
#include<iostream>
#include<iomanip> //Para usar
setw()
void main()
{
char cod[60];
int horE,horN;
float
pagHorE,pagHorN,sueE,sueN,sueNet;
float bonifi,ingTotal,seguro;
gotoxy(35,2);cout<<"BOLETA DE
PAGO";
gotoxy(35,3);cout<<"————–";
gotoxy(3,6);cout<<"Codigo del
trabajador……..: ";cin.getline(cod,60);
gotoxy(3,8);cout<<"Horas normales
trabajadas….: ";cin>>horN;
gotoxy(3,9);cout<<"Pago x hora
(S/.)…………: ";cin>>pagHorN;
gotoxy(40,8);cout<<"Horas extras
trabajadas…: ";cin>>horE;
gotoxy(1,11);cout<<"———————————————————————–";
sueN=pagHorN*horN;
gotoxy(3,13);cout<<"Sueldo
Normal…: "<<sueN;
pagHorE=pagHorN+(3*pagHorN)/10;
sueE=pagHorE*horE;
gotoxy(3,14);cout<<"Sueldo
Extra….: "<<sueE;
ingTotal=sueE+sueN;
bonifi=(3*ingTotal)/10;
gotoxy(3,15);cout<<"Bonificacion….:
"<<bonifi;
seguro=sueN/20;
gotoxy(40,13);cout<<"Costo del
seguro…: "<<seguro;
gotoxy(1,17);cout<<"———————————————————————–";
sueNet=ingTotal+bonifi-seguro;
gotoxy(24,19);cout<<"SUELDO NETO:
"<<sueNet;
gotoxy(19,20);cout<<"—————————";
gotoxy(3,22);cout<<"Press any key
to finish";
getch();
return; //Main no devuelve ningún
valor (void)
}
¿Qué significa inicializar una
variable?
Inicializar una variables es la posibilidad de darle un
valor a la misma a la hora de declararlo.
Ejemplo:
int A=8,B=0,C=-60;
char
SAL[]="Hola",OPC='S',pal[10]={'A','M','O','R'};
Programa 14
A una reunión asisten N personas. Desarrolle un
programa que muestre la cantidad de apretones de manos que
habrá.
Solución
Este problemita se resuelve muy fácil. Lo primero
como ya dijimos es hallar los datos que nos dan. En este caso
será el número de personas que asistirán a
la reunión. Dicha cantidad la representaremos con la
variable N. Ahora sí nos ponemos a pensar y usamos la
forma inductiva para resolver el problema… sería bueno
plantearnos pequeños casos:
Caso 1: Asisten N=1 personas a la reunión. En
este caso no hay saludo puesto que para que haya saludo debe
haber de por lo menos 2 personas.
N=1, #saludo=0, #apretones=0
Caso 2: Asisten N=2 personas a la reunión. En
este caso hay 2 saludos y un apretón de mano.
N=2, #saludos=2, #apretones=1
Caso 3: Asisten N=3 personas a la reunión. En
este caso hay 6 saludos y 3 apretones de mano.
N=3, #saludos=6, #apretones=3
Caso 4: Asisten N=4 personas a la reunión. En
este caso hay 12 saludos y 6 apretones de manos.
N=4, #saludos=12, #apretones=6
Los resultados anteriores lo hemos determinado por
experiencia pero no vamos a estar experimentando para más
casos puesto que sería muy agotador e
innecesario.
Analizando otra vez tenemos:
N = 1
entonces #saludos = 0 = 1 * 0 y #apretones = 0 =
#saludos/2
N = 2
entonces #saludos = 2 = 2 * 1 y #apretones = 1 =
#saludos/2
N = 3
entonces #saludos = 6 = 3 * 2 y #apretones = 3 =
#saludos/2
N = 4
entonces #saludos = 12 = 4 * 3 y #apretones = 6 =
#saludos/2
N = m entonces #saludos =
m *
( m –
1 ) y #apretones = m * (
m – 1 ) / 2
Otra forma de resolver sería pensando así:
Como en la reunión asisten N personas es obvio que cada
persona
saludará a las restantes personas. Entonces el
número de saludos (incluidos los repetidos) será
N*(N-1) y como en cada saludo intervienen 2 personas eso quiero
decir que sí el primero saludo al segundo también
se está incluyendo el saludo del segundo al primero.
#saludos=2#apretones. Despejando tenemos la solución:
#apretones=#saludos/2=N*(N-1)/2.
Codificación en Borland #include<conio> #include<iostream> int main() { int N,apreTot; cout<<"ntCUANTOS cout<<"t——————————-n"; cout<<"Numero de personas: //ALGORITMO PRINCIPAL apreTot=N*(N-1)/2; cout<<"Hay cout<<"nPress any key to getch();return-45; } | Diagrama N/S |
Programa 15
Se tiene un cuadrado de lado X cuyos puntos
medios se han
unido para formar otro cuadrado. Ahora, los puntos medios se han
vuelto a unir para volver a formar otro cuadrado. La acto de unir
los puntos medios de los nuevos cuadrados es contínuo.
Desarrolle un programa que calcule la suma de las áreas de
todos los cuadrados así formados.
Solución
Graficando…
St: Suma de las áreas totales
St = S1+
S2+S3+…+Sn
S1: Area del 1er cuadrado
S2: Area del 2do cuadrado
S3: Area del 3er cuadrado
Sn: Area del cuadrado
S1=X*X, ahora, para calcular el S2
se necesita conocer la medida de su lado.
Para conocer su lado hay observar … El lado de ese
cuadrado viene a ser la hipotenusa del triángulo rojo cuyo
catetos miden X/2 y X/2. Ahora falta calcular la hipotenusa. La
hipotenusa lo calcularemos aplicando el teorema de
Pitágoras. Que la medida de la hipotenusa sea H. Entonces
tenemos: H2 = (X/2)2 + (X/2)2 =
X2/4 + X2/4 = X2/2. Despejando
… H=X/√2. Ahora toca calcular el S3. Esto se
logrará conociendo su lado. En este caso como en la
anterior el lado viene a coincidir con la hipotenusa del
tríangulo amarillo. Llamemos L a la hipotenusa.
L2 = (H/2)2 + (H/2)2 =
H2/2 = X2/4. Sí hallamos el
área del cuadrado siguiente comprobaríamos que el
resultado sería X2/8.
Veamos nuevamente los resultados obtenidos:
S1=X2
S2=X2/2
S3=X2/4
S4=X2/8
St = X2 + X2/2 +
X2/4 + X2/8 + …
St = X2 + 1/2 (
X2 + X2/2 +
X2/4 + … )
St = X2 + 1/2 ( St
)
St – St/2 = X2 Por
tanto St =
2*X2
Codificación en Borland #include<iostream> #include<conio> int main() { int X,S; cout<<"ntPROGRAMA cout<<"t———–n"; cout<<"Ingrese el lado del S=2*X*X; cout<<"La suma de las areas cout<<"nPresione una tecla } | Diagrama N/S
|
Constantes
Todo el mundo sabe lo que es una constante o almenos
sabe interpretarlo ¿verdad?. Una constante es algo que no
cambia nunca.
Para declarar una constante en Borland C++ se sigue la
sintaxis sgte: const
tipoDeDato Nombre;
Ejemplo: const int
pi=3.1415;
Programa 16
Desarrolle un programa que calcule el área de la
superfice definido por una circunferencia de radio
conocido.
Solución
Todos nosotros sabemos por geometría básica que el
círculo es el producto de la constante pi=3,1415
multiplicado por el radio al cuadrado.
Definiendo Entrada/Salida (E/S) de
datos:
Entrada: El radio de la circunferencia
(radio)
Salida: El círculo (circulo)
Codificación en Borland #include<conio> #include<iostream> void main() //FUNCION { //Declaración de int radio; float circulo; const float cout<<"ntCALCULA EL cout<<"t——————n"; //Ingreso de datos cout<<"nIngrese el radio: //Calcula el circulo=pi*radio*radio; //Escribe resultado cout<<"nEl circulo es: cout<<"nPress any key to getch();//Pausa para ver los } | Pseudocódigo Inicio ingresar radio calcular mostrar circulo Fin Aquí vemos la utilización del Observaciones:
|
Programa 17
Desarrolle un programa que calcule la suma de los N
primeros números pares.
Solución
Definiendo E/S de datos:
Entrada: número N
Salida: suma de los números (suma)
suma = 2 + 4 + 6 +…+ N
suma = 2 ( 1 + 2 + 3 +…+ N/2 ) Recuerde… N es
par
suma = 2 N/2 ( N/2 + 1 )/2 = N ( N/2 + 1 )/2
Codificación en Borland #include<conio> #include<iostream> void main() { //Declarando int N,suma; cout<<"ntSUMA DE LOS N cout<<"t—————————-n"; cout<<"n2 + 4 + 6 +…+ //Ingreso datos cout<<"nIngrese N: //Calcula suma suma=N*(N/2+1)/2; //Escribe resultados cout<<"nLa suma es: //Pausa cout<<"nPress any key to } | Pseudocódigo Inicio Lee N Calcular Imprimir suma Fin Diagrama N/S |
Programa 18
Lea dos números. El primero vendrá a ser
la unión del dia y mes de su nacimiento. Ejemplo sí
su fecha de nacimiento es: 14 de septiembre o 14 del 09 la
unión sería: 1709. El segundo número
será la edad que usted tiene. Luego realice los
cálculos siguientes:
- Multiplique al primer número 2
- Súmele 5 al nuevo resultado
- Multiplíquelo por 50 al resultado
anterior - Al resultado anterior réstele 250
Una vez hecho esto el resultado tendrá un valor
igual a la union del primer número con el segundo. Este
juego es
conocido en los círculos matemáticos como "Juego de
sociedades".
Solución
Definiendo E/S de datos:
Entrada: número n1 y n2
Salida: calcular
resultado=(((n1*2)+5)*50+n2)-250
Codificación en Borland #include<conio> #include<iostream> void main() { int n1,n2,resultado; cout<<"ntJUEGO DE SOCIEDADn"; cout<<"t—————–n"; //Ingreso de datos cout<<"Ingrese numero: cout<<"Ingrese otro numero: //Calcula resultado resultado=(((n1*2)+5)*50+n2)-250; //Imprime resultado cout<<"El resultado es: getch();//Pause } | Diagramas de flujo de dato
Aunque no he explicado muy bien como usar los |
Como usar los diagramas
de flujo de datos?
A mí en lo particular me gusta realizar mis
programas usando diagramas de flujo. Con ellos puede darle un
aspecto más agradable a mi algoritmo a parte de que la
lógica
del mismo es facilmente apreciable. Sí quieren saber de
forma más clara lo que son los diagramas de flujo
allá les va esto: Los diagramas de flujo sirven para
representar gráficamente a cualquier algoritmo. Los
diagramas que se usan han sido normalizados por el Instituto
Norteamericano de Normalización (ANSI). Utilizando
adecuadamente los diagramas o símbolos podemos graficar la lógica
de nuestro programa. Cada símbolo tiene una acción
bien definida.
Tabla de digramas y sus acciones
Diagrama o símbolo | Nombre: Acción |
Carácter de parada o Terminal: Representa | |
| Datos o Entrada/Salida (E/S): Sirve para leer o |
| Proceso: Este símbolo se usará |
| Conector: Sirve para enlazar dos partes |
Conector off-page o Conector fuera de | |
| Decisión: Esto se utilizará cuando |
Estos no son los únicos símbolos que
existen, hay muchos más!!!. Sin embargo estos son los que
usaremos por ahora.
Conversiones de tipos de dato
Cuando declaramos dos variable, por ejemplo:
int A; y float B;
sabemos muy bien lo que estamos haciendo ¿verdad?.
Sí eso es cierto entonces no podemos tratar de guardar el
valor de 3.5 (real) en la variable A de tipo int pues ella
almacenará solo enteros. Sin embargo podemos cometer esta
imprudencia en forma incosciente. Sí esto sucediese los
resultados no serían de nuestro agrado. Cuando estemos
obligados a esto usaremos el método
cast (moldear). Ejemplo:
int A; …instrucción 1
float B=12.5; …instrucción 2
A=int(B);
ó A=int(B); …instrucción
3
En la instrucción 1 declaramos la variable A de
tipo int.
En la instrucción 2 declaramos e inicializamos la
variable B de tipo float con el valor de 12.5
En la instrucción 3 almacenamos en A el valor de
B (tipo float) que es obligado a transformarse en un entero.
Recuerde que los valores
con decimales serán redondeados al menor entero. En
nuestro caso será redondeado a 12. Sin embargo la
conversión es automática cuando se trata de
variables de tipo número pero no en el caso del tipo char.
Como es esto? En la instrucción 3 pudimos poner:
A=B; En este el compilador
reconoce primero a la variable A. Como A es de tipo int entonce
el valor de B será transformado en un valor de tipo
int.
Programa 19
Desarrolle un programa cualquiera.
Códificación en Borland
C++
#include<conio>
#include<iostream>
void main()
{
//Declaración de
variables
int A;
float B=12.5; //Se inicializa B con el
valor 12.5
//Conversión de tipos
(método cast)
A=(int)B;
cout<<A;
getch(); //Pause
}
Programa 20
En la facultad de Informática e Sistemas de la
universidad UNAS
(Tingo María-Perú) se aprueba el curso con la nota
mínima de 11. Esta nota viene a ser el promedio final
representado por PF.
PF=( 0.3*NT+0.8*NP+0.9*PROY+9 )/3, donde NT es Nota
Teórica, NP es Nota Práctica y PROY es Proyecto.
Desarrolle un programa que ayuda a calcular el promedio final de
los alumnos preocupados.
Codificación en Borland C++
#include<conio>
#include<iostream>
void main()
{
//Declaración de
variables
int NP,NT,PROY;
float PF;
cout<<"ntHALLE SU PROMEDIO
FINALn";
cout<<"t———————–n";
//Ingreso de datos
cout<<"nIngrese Nota teorica:
";cin>>NT;
cout<<"Ingrese Nota practica:
";cin>>NP;
cout<<"Ingrese Nota de su
proyecto: ";cin>>PROY;
//Proceso de
datos
PF=(0.3*NT+0.8*NP+0.9*PROY+9)/3;
//Salida de la
información
cout<<"nSu promedio final es:
"<<PF<<endl;
cout<<"nPresione una tecla para
finalizarn";getch();
}
Bueno… estimados lectores hasta aquí termina la
parte introductoria a Borlad C++. Espero que hayan podido
seguirme en el avance del "curso". Todo los programas que hasta
ahora hemos desarrollado siguen un proceso secuencial
[véase Programación Estructurada (PE) en el ANEXO].
Osea que las instrucciones que contiene el código son
ejecutados uno a continuación de otro. En otras palabras
hemos abarcado todo el capítulo de procesos
secuenciales y nosotros ni cuenta nos hemos dado!!!.
En esta última parte usted encontrará 10
problemas propuestos que ud. deberá solucionar y luego
implementarlos en un programa. Deberá ser muy justo ya que
aunque estos problemas son propuestos han sido resueltos para que
el lector pueda comparar sus resultados obtenidos.
JU MO PO
rey_andav_sy[arroba]hotmail.com
Partes: ,
3
Página anterior | Volver al principio del trabajo | Página siguiente |