Professional Documents
Culture Documents
Inicialmente C++ nace como una herramienta generada para que el autor y sus amigos no
tuviesen que programar en ensamblador o C, la cual deba permitirles hacer mas fcil y
agradable la escritura de programas de buena calidad para el programador individual. De
tal manera que no surge como un proyecto en forma, ni se gener un grupo de trabajo
para disear C++, bsicamente el lenguaje se enriqueca y se transformaba de acuerdo a
las necesidades y sugerencias que los amigos del autor y algunos usuarios le hacan
llegar.
Al inicio existieron muchas versiones no oficiales del C++ y no fue sino hasta 1987 que
se advirti la necesidad de estandarizarlo de manera formal y para ello se hizo un
esfuerzo de establecer comunicacin entre los realizadores de compiladores de C++ y lo
principales usuarios mediante correo electrnico, correo convencional y reuniones en
conferencias a cerca de C++. Dicho esfuerzo culmina con la creacin del grupo X3J16 de
ANSI que en 1989 se reuni para crear el estndar de C++ tal y como lo conocemos hoy
en da.
Desde Windows
Desde Windows
2.
Cambiar el
directorio
Cambiar el
directorio
Editoer de turbo
C++ ver. 3.0
Editoer de turbo
C++ ver. 3.0
3.
10
10
11
11
12
12
13
14
13
15
14
Manos a la obra
Vamos a realizar un ejercicio practico y sobre el se explicaran cada una de las acciones
Ejercicio: tomaremos como base nuestro ejercicio clsico de la suma de dos nmeros e
imprimir su resultado
Procedemos
Se carga el editor del C++, para proceder a ingresar el programa, tomando como
referente el algoritmo
Cut<< = Escriba
Cin>> = lea
Explicacin:
Como se puede dar cuenta, una vez el algoritmo este bien diseado es fcil llevarlo a un
lenguaje de programacin,
<<console output>> Objeto de flujo estndar de salida, que normalmente es por la pantalla de la
computadora
4
main()5; en este caso utilizamos la directiva void para especificar que esta funcin no
retorna valor, en caso que se la coloque este parmetro , al finalizar el programa tenemos
que utilizar la directiva de retorno return 0.
3.-int palabra reservada que indica que las variables son de tipo entero, otros rangos
utilizados comnmente son:
Rango mnimo
Rango mximo
Char
255
Short
-128
127
Int
-32768
32767
Unsigned int
65535
Long
-2147483648
2147483637
Float
3.4*(10-38)
3.4*(1038)
Double
1.7*(10-308)
1.7*(10308)
Long double
1.7*(10-308)
1.7*(10308)
Cdigo
Significado
\n
Nueva Lnea
\r
Retorno de carro
\t
Tabulacin
\v
Tabulacin vertical
\a
Alerta sonora
\b
Retroceso de espacio
\f
Avance de pagina
\\
Comillas simple
Comillas dobles
\?
Signo de interrogacin
\000
Nmero octal
\xhh
Nmero hexadecimal
Ejercicio 2
Retomemos nuestro viejo compaero: realizar un programa que lea dos nmeros y
determine cual de ellos es mayor.
Anlisis: el anlisis de este ejercicio ya lo hemos realizado en temas anteriores
Solucin
#include<iostream.h>
#include<conio.>
void main()
{
int a,b;
clrscr();
cout <<por favor ingrese un nmero ;
cin>>a;
cout<<por favor entre otro nmero
cin>>b;
if (a>b)
cout<<el nmero Mayor <<a
else
cout<<El nmero mayor es <<b;
getch();
}
Explicacin
/*******************
Ejemplo 2
Tomamos es mismo ejemplo pero agregamos la condicin en el caso de que sean iguales
Solucin
#include<iostream.h>
#include<conio.>
void main()
{
int a,b;
clrscr();
cout <<por favor ingrese un nmero ;
cin>>a;
cout<<por favor entre otro nmero
cin>>b;
if (a==b)
cout<< Los nmeros son Iguales;
if (a>b)
cout<<el nmero Mayor <<a;
if (a<b)
cout<<El nmero mayor es <<b;
getch();
}
Explicacin
Para comparar una igualdad hacemos uso del doble signo de igualdad (==), en el ejemplo
if(a==b), Razn: un solo signo de igualad significa asignacin.
Si es del caso determinar un diferente lo hacemos if(a!=b) con el signo de admiracin
//*******
Ejemplo 3
Leer dos nmero (a,b), si el nmero a es mayor que b, realizar la divisin de a entre b, y
mostrar su resultado, en el caso de que sea el nmero a menor que b, entonces realizar
su producto y mostrar su resultado, y en el caso de que sean iguales simplemente indicar
que son iguales
Solucin
#include<iostream.h>
#include<conio.>
void main()
{
int a,b,r;
clrscr();
cout <<por favor ingrese un nmero ;
cin>>a;
cout<<por favor entre otro nmero
cin>>b;
if (a==b)
cout<< Los nmeros son Iguales;
if (a>b)
{
r=a/b;
cout<<El nmero mayor es a y el resultado de la divisin es <<r;
}
if (a<b)
{
r=a*b;
cout<< El nmero mayor es b y el resultado del producto la es <<b;
}
getch();
}
Comentarios
Para este caso en los condicionales que tienen ms de una lnea se emplea llaves de
apertura y de cierre lo que indica hasta donde va el condicional
1.-consultar: en sitios Web o en la bibliografa sugerida para este modulo, los siguientes
tems:
o
o
o
o
o
Nota
Numrica
Valoracin
letras
0.0 5.9
6.0 6.9
en
7.0 7.9
8.0 8.9
9.0 10.0
Valor de Venta
Hasta 10.000.000
2%
Ms de 10 y Menos de 15 millones 4%
Mas de 15 millones
10%
Nombre
da
del Astro
Domingo
Sol
Sbado
Saturno
Viernes
Venus
Jueves
Jpiter
Mircoles
Mercurio
Martes
Marte
Lunes
Luna
iguales
A $12.400=
B $11.200=
C $10.000=
D $ 8.500=
Al final al profesor se le resta el 10% de retencin en la fuente. El pago debe
tomar en cuenta las fracciones de hora
Ejercicio
Solucin
#include<iostream.h>
#include<conio.>
void main()
{
Int k,suma=0;
clrscr();
for (k=1;k<=10;k++)
suma=suma+k;
cout<<el resultado de la suma de los 10 nmeros es << suma;
gtch();
}
Explicacin
Ejercicio 2
#include<iostream.h>
#include<conio.>
void main()
{
Int k, numero, suma=0;
clrscr();
for (k=1;k<=10;k++)
{
cout<<Por favor entre un nmero;
cin>>numero;
suma=suma+numero;
}
cout<<el resultado de la suma de los 10 nmeros es << suma;
gtch();
}
Explicacin:
Ejercicio
Realizar un programa que permita ingresar 10 nmeros, de los cuales se debe sumar
aquellos que son positivos y contar los que son negativos, imprimir los resultados
#include<iostream.h>
#include<conio.>
void main()
{
Int k, numero, suma=0, kn=0;
clrscr();
for (k=1;k<=10;k++)
{
cout<<Por favor entre un nmero;
cin>>numero;
if (numero >=0)
suma=suma+numero
else
kn++;
}
cout<<el resultado de la suma de los nmeros positivos es : << suma <<\n;
cout<<la cantidad de nmeros negativos ingresados es :
gtch();
}
Explicacin
<<kn;
/******
Sentencia while: esta sentencia de ciclo o bucle es muy sencilla pero muy potente, su
estructura.
Sentencia do while, este ciclo es muy utilizado cundo queremos realizar filtros8 y cuando
deseamos que se permita el ingreso al ciclo al menos una vez
Ejemplo
Se debe desarrollar un programa que permita ingresar las notas del curso de algoritmos,
el programa debe terminar cuando la nota ingresada es cero (0), luego mostrar el
promedio de las notas ingresadas, las notas ingresadas no deben ser negativos ni
superiores a cinco
Anlisis:
Mucho de anlisis se realizo en la semana referente a ciclos, trabajado con algoritmos.
Con este ejemplo se utilizaran dos tipos de ciclos, uno para controlar las entradas de
datos hasta que estas sean diferentes de cero y el otro ciclo que permita entrar
nicamente valores mayores a cero y menores o iguales a cinco
#include<iostream.h>
#include<conio.>
void main()
{
int k;
float suma, nota, promedio;
clrscr();
suma=0; k=0;
while (nota =0)
{
do
{
cout<<"entre una nota";
cin>>nota;
if (nota <0) || (nota >5)
{
cout<<"Error. Intntelo nuevamente";
}
}
while (nota<0 ) || (nota >5);
if (nota !=0 )
{
suma=suma+nota;
k++;
}
}
promedio=suma/k;
cout<<"la cantidad de notas ingresadas son: <<k<<\n;
cout<<el promedio de las notas es de : <<promedio;
getch();
}
Explicacin
m.c.m. (8, 6) = 24
Al divisor comn que es mayor que todos los divisores comunes de dos nmeros (A,
B) se le llama mximo comn divisor (m.c.d.). Elabore un programa para calcular el
m.c.d. de dos nmeros. Ejemplo: sea 8 y 12 (investigue el algoritmo de Euclides).
m.c.d. (8,12) = 4
Dos nmeros son amigos, si cada uno de ellos es igual a la suma de los divisores del
otro. Ejemplo: 220 y 284 son amigos por que,
284
220
71
142
10
11
20
22
44
55
110
220
284
Escriba un programa para calcular si un nmero es primo o no, recuerde que los
nmeros primos son aquellos que solo son divisibles por la unidad y por ellos mismos:
ejemplo 5, 11, 17, etc..
Calcular mediante un programa cuantos nmeros primos existen entre 1 y un nmero
M dado por el usuario.
Escriba un programa que muestre el cuadrado de los nmeros del 1 al n.
Disear un programa para determinar la cantidad de mujeres y hombres que hay en
un grupo de N estudiantes. Adems se debe hallar el promedio de edad y de estatura
del grupo. (el usuario digitar para cada integrante del grupo, su sexo, edad y
estatura).
Desarrolle un programa que permita seleccionar personal para un empleo de un total
de N aspirantes. Los aspirantes deben cumplir las siguientes condiciones para ser
aceptados:
Mayores de edad
Ser ingeniero titulado
Tener experiencia laboral
El nmero de trminos debe ser dado por el usuario (entre mayor sea el
Se deben leer nmeros hasta que se digite 99 (el 99 no se debe contar), y determinar
cuantos primos hay, y cuantos pares. (recuerde que estas dos condiciones no son
exclusivas).
Elabore un programa que genere un nmero aleatorio y que les d la posibilidad a dos
jugadores de adivinar dicho nmero, el algoritmo debe pedir el nmero de partidas,
intercalar los turnos para adivinar, mostrar el ganador por partida y el ganador final. El
nmero debe estar entre 0-100. (Use la funcin random.)
Elabore un programa que lea las ventas de (n) nmero de vendedores, para los
productos (A, B, C, D y C), si los precios de los productos son ($1000, $2345, $3876,
$1235 y $550) respectivamente, calcule el nmero individual y total de productos
vendidos, las ventas totales por producto, el promedio total de ventas, el producto mas
vendido, el menos vendido, el vendedor que ms ventas realiz.
Realice un programa que calcule la suma de (n) nmeros, el producto de estos y
cuantos de estos son negativos y cuantos positivos. Estos datos deben ser mostrados
por pantalla.
Funciones
Funciones incorporadas
Las Funciones se incorporan al lenguaje de programacin C o C++ por medio de la
Libreras: La principal estrategia de la programacin estructurada al resolver un problema
complejo es la de dividirlo en subproblemas (divide y vencers) cuya resolucin sea
mucho ms sencilla. Estos subproblemas se pueden dividir a su vez en otros ms
pequeos, y as sucesivamente, segn la conveniencia. Esta estrategia tambin se llama
diseo descendente, debido a que se parte de lo general y se disean soluciones
especficas para sus subproblemas. Estos subproblemas los podemos implementar en el
lenguaje C o C++ mediante la codificacin de funciones. (ver anexo ndice de Funciones),
El siguiente programa emplea funciones trigonomtricas contenidas en el archivo
de cabecera "math.h"
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main(){
double angulo = 0.0; //real de doble precisin, 8 bytes = 64 bits
cout << "Pi = " << M_PI;
cout.precision(7);
cout.setf(ios::fixed);
cout << "\n\nSeno
angulo += 30.0;
cout << "\nCoseno
angulo += 30.0;
cout << "\nTangente (" << angulo << " ) = " <<
sin(angulo*M_PI/180) / cos(angulo*M_PI/180);
angulo += 30.0;
cout << "\nCotangente(" << angulo << " ) = " <<
cos(angulo*M_PI/180)/sin(angulo*M_PI/180);
angulo -= 30.0;
El siguiente programa permite or notas musicales entre 260 Hz y 520 Hz, a travs
de la utilizacin de funciones incorporadas en <dos.h>: sound() y nosound().
#include <iostream.h>
#include <dos.h>
const Tempo=1000; // aproximadamente 1000 milisegundos
void main(){
sound(342);
sound(390);
sound(440);
sound(494);
sound(520);
nosound();
cout << "\nSilencio\n";
delay(Tempo/2);
sound(520); cout << "Do "; delay(Tempo/4);
sound(494); cout << "Si "; delay(Tempo/4);
sound(440); cout << "La "; delay(Tempo/4);
sound(390); cout << "Sol "; delay(Tempo/4);
sound(342); cout << "Fa "; delay(Tempo/4);
sound(322); cout << "Mi "; delay(Tempo/4);
sound(290); cout << "Re "; delay(Tempo/4);
sound(260); cout << "Do "; delay(Tempo/4);
nosound();
}
Realizar un men que permita el manejo de submen, para lo cual se realizara la primer
parte del ejercicio y usted debe complementar el resto, para tener una idea de lo que se
pretende, se visualizara los mens as
Men Principal
Men Opcin 1
1...Operaciones Matemtica
2...Opciones tipo carcter
1... Exponente
3...Opciones Institucionales
2...Raz cuadrada
4...Libreras C++
5...Salir
3...Seno
4...Coseno
5...Men Principal
Opcin___
Men Principal
Men Opcin 1
Men
Principal
1...Operaciones
Matemtica
Men Opcin 2
1... Exponente
1... Concatenar
1...Operaciones
Matemtica
3...Opciones
Institucionales
2...Raz
cuadrada
2...Invertir
2...Opciones
4...Libreras
C++ tipo carcter
3...Seno
3...Men Principal
3...Opciones Institucionales
5...Salir
4...Coseno
4...Libreras C++
5...Salir
Opcin___
Men Principal
5...Men Principal
Men Opcin 2
1... Concatenar
Men Opcin 3
2...Invertir
Opcin___
Men Principal
1...Operaciones
Matemtica
2...Opciones tipo carcter
1...Operaciones
Matemtica
3...Opciones Institucionales
2...Opciones
4...Libreras tipo
C++ carcter
3...Opciones
Institucionales
5...Salir
4...Libreras C++
3...Men Principal
1... Misin Unad
2...Visin Unad
3...Misin Facultad
4...Visin Facultad
5...Men Principal
5...Salir
Opcin___
Men Opcin 3
Men Principal
Men Opcin 4
1...Operaciones Matemtica
1... Matemticas
3...Opciones Institucionales
3...Trigonometritas
4...Libreras C++
4...Aleatorias
5...Salir
5...Men Principal
Opcin___
Anlisis
Men Opcin 4
Matemticas
1...ceil(x)
2...fabs(x)
3...floor(x)
4...otras
5...Men anterior
Matemticas
1... con
Matemticas
Se pude observar que es un programa
un mayor grado de complejidad, por manejar
1...ceil(x)
una serie de mens y submens
Men Principal
2...De fecha y hora
2...fabs(x)
3...Trigonometritas
3...floor(x)
1.-a simple vista se puede observar que cada uno de los mens y submens esta
1...Operaciones Matemtica
4...Aleatoriasse puede pensar que una de las primeras
contenido dentro de un marco, por consiguiente
4...otras
funciones
a realizar
es el cuadro o marco contenedor, par lo cual se debe tener en cuenta
2...Opciones
tipo carcter
5...Men Principal
que:
5...Men anterior
3...Opciones Institucionales
Un monitor normal en formato texto esta dividido en filas y columnas, 24 filas por
80 columnas,
por consiguiente es importante saber posicionar el cursor en estos
4...Libreras
C++
rangos
5...Salir
24 filas
24 filas
80 columnas
Opcin___
80 columnas
Solucin
#include<iostream.h>
#include<conio.h>
void cuadro(int,int,int,int);//Prototipo funcin cuadro
void opciones1();//prototipo primer submen
void main()
{
int op=0;
while (op!=5)// condicional men principal
{
clrscr();
cuadro(5,5,40,15);//llamado a la funcin cuadro en determinadas posiciones
gotoxy(12,6);
cout<<"MENU PRINCIPLA";
gotoxy(6,8);
cout<<"1...Operaciones Matematicas";
gotoxy(6,9);
cout<<"2.. Opciones tipo carcter";
gotoxy(6,14);
cout<<"5...Salir";
cin>>op;
if (op == 1)
{
opciones1 ();// llamado a la opcin del primer submen
}
}
}// Final programa o funcin principal
Explicacin
1.-Es importantes que se lean los comentarios que se escriben al frente de cada lnea del
programa, estos comentarios enastan resaltados con negrita
2.- Con un poco de ingenio se puede mejorar el cierre de la lneas de los cuadros (utilizar
cdigos ASCII)
1.1.5.3 ejercicios de verificacin
1- Complementar el ejercicio
Posible salida
2.
Men
1. Suma
2.
3.
4.
5.
Resta
Multiplicacin
Divisin
Salir
Cada funcin debe tener como parmetros tres nmeros reales y debe
retornar el resultado en un nmero real.
Men
1. Pesos a Bolvares
2.
3.
4.
5.
Pesos a Dlares
Dlares a Euros
Pesos a Euros
Salir
3.- Si el grupo colaborativo as lo desea puede consultar a cerca de las funciones graficas
en C++, (es un buen momento para hacerlo)