You are on page 1of 85

Instituto Politécnico Nacional

Escuela Superior de Ingeniería Mecánica y Eléctrica
Unidad Zacatenco Ingeniería en comunicaciones y electrónica
Turno: Vespertino GRUPO: 1CV9

Alumno: Aguilar Pacheco Edgar Alfredo Profesor: HERRERA MARTÍNEZ ALEJANDRO Materia: programación

practicas
índice
81

paigina 3. 5. 7. 9.
por el usuario.

Practica # Practica # Practica # Practica #

1. 2. 3. 4.

Hola mundo. Portada. Suma de tres números fijos. Suma de tres números capturados

11. 13. 15. 18. 22. 26. 29. 33. 36.
99.

Practica # Practica #

5. 6.

Volumen de un cubo. Área de un polígono. If-else if-else. Volumen de un cilindro. Paso por referencia. Ley de ohm. Ecuación cuadrática. Factorial. Serie de números de 3 en 3 hasta el

Practica # 7. Practica # Practica # 8. 9.

Practica # 10. Practica # 11. Practica # 12. Practica # 13.

39. 42.
calificaciones.

Practica # 14. Practica # 15.

Velocidad de corredores. Promedio de un alumno con 7

16. 49.
neutros.

Practica # 16. Practica # 17.

Números positivos. Números positivos, negativos y

53. 26. 60.
rombo.

Practica # 18. Practica # 19. Practica # 20.

Función según su límite. Tabulación de funciones. Triangulo, triangulo invertido y

68.
colores.

Practica # 21. Practica # 22.

Promedio con arreglos. Resistencia mediante el código de

73.

81

Practica # 1.
Hola mundo. • Definición del problema.
Diseñar un algoritmo y un programa que muestre en pantalla la leyenda “HOLA MUNDO”. ENTRADAS Ninguna SALIDAS “HOLA MUNDO” PROCESOS ninguno

• Algoritmo.
Pseudocódigo (programa principal). INICIO: IMPRIMIR ("HOLA MUNDO C++") FIN.

• Diagrama de flujo.
INICIO

“HOLA MUNDO”

FIN

• Programa .
#include <iostream> #include <cstdlib> using namespace std; int main() { cout << "\n\n\tHOLA MUNDO C++\n\t"; system("PAUSE"); return 0; 81

}

• Programa ejecutado.

• Conclusiones. Para poder desplegar un mensaje en pantalla se usa la palabra reservada “cout”, para poder usarla se debe de declarar la librería “iostream”, también se debe de usar “system (“PAUSE)” este es para que se pueda apreciar lo que se manda a desplegar, y para usar este último se debe de incluir la liberia “cstblib”. Cuando se corre el programa por primera vez se abre una pequeña ventana de color negro y se cierra muy rápido, tan rápido que no se puede apreciar lo que esta contiene, así que cuando se mande a imprimir algo, es muy necesario agregarle el “system (“PAUSE”)”, ya que de lo contrario no se podrá a preciar nada.

Practica # 2.
81

Diseñar un algoritmo y un programa que muestre en pantalla una portada que será utilizada para tus demás programas. Pseudocódigo (programa principal). INICIO: IMPRIMIR (“INSTITUTO POLITÉCNICO NACIONAL") IMPRIMIR ("ESCUELA SUPERIOR DE INGENIERÍAS MECÁNICA Y ELÉCTRICA”) IMPRIMIR ("PRINCIPIOS DE PROGRAMACIÓN”) IMPRIMIR ("AGUILAR PACHECO EDGAR ALFREDO ") IMPRIMIR ("GRUPO 1CV9 VESPERTINO") FIN. INICI O “INSTITUTO POLITÉCNICO NACIONAL" “ESCUELA SUPERIOR DE INGENIERÍAS MECÁNICA Y ELÉCTRICA” “PRINCIPIOS DE PROGRAMACIÓN” “AGUILAR PACHECO EDGAR ALFREDO” “GRUPO 1CV9 VESPERTINO” FIN 81 . • Diagrama de flujo. • Definición del problema. ENTRADAS SALIDAS "INSTITUTO POLITÉCNICO NACIONAL" " ESCUELA SUPERIOR DE INGENIERÍAS MECÁNICA Y ELÉCTRICA " " AGUILAR PACHECO EDGAR ALFREDO" "PRINCIPIOS DE PROGRAMACIÓN" "GRUPO 1CV9 VESPERTINO" PROCESOS Ninguna ninguno • Algoritmo.Portada.

81 . Es muy parecido este programa al anterior la única diferencia es que aquí mandamos a desplegar todo una portada. #include <iostream> #include <cstdlib> using namespace std. cout << "\t\tAGUILAR PACHECO EDGAR AlFREDO\n" << endl. } ELECTRICA\n" • Programa ejecutado. aquí ya pude usar mejor lo que el salto de línea y el tabulador. return 0. cout << "\t ". se sigue utilizando como base la palabra reservada “cout” y el “system (“PAUSE)”. cout << " ESCUELA SUPERIOR DE INGENIERIAS MECANICA Y << endl.• Programa. system ("PAUSE"). int main() { cout << "\t INSTITUTO POLITECNICO NACIONAL\n" << endl. cout << "\t\t GRUPO 1CV9 VESPERTINO \n" << endl. • Conclusiones. cout << "\t\t PRINCIPIOS DE PROGRAMACION\n" << endl.

INICI O int a. b=10. Pseudocódigo (programa principal).res a=5. INICIO: a. res a=5 b=10 c=15 res = a+b+c. • Diagrama de flujo. ENTRADAS Ninguna SALIDAS Suma PROCESOS Suma=numero1+numero2+numero3 • Algoritmo.Practica # 3. Diseñar un algoritmo y un programa que realice la suma de tres números predeterminados. Suma de tres números fijos. c=15 res=a+b+c res FIN 81 .c. • Definición del problema. b. c. IMPRIMIR (reS) FIN.b.

} • Programa ejecutado. 81 . #include <iostream> #include <cstdlib> using namespace std. b=10. int main () { int a. guardarlos en otra variable. void portada(). c=15. En este programa se puede apreciar el cómo podemos realizar operaciones básica. a=5.res. cout << "Suma de 3 numeros fijos \n\n a+b+c \n\n a=5 \n b=10 \t\n c=15 \n" << endl. lo único q se hiso en esta fue sumar tres numero. y luego mandar a imprimir la variable en donde se guardo la suma.b.c. en este caso suma tres numero predeterminados. • Conclusiones.• Programa. system ("PAUSE"). y como se manda a imprimir una variable cabe mencionar que se siguen utilizando las herramientas de las practica 1 y 2. return 0 . res=a+b+c. cout << "El resultado es:" << res << endl.

c. INICI O int a. b. c. b .c) IMPRIMIR (a. Suma de tres números capturados por el usuario.c res=a+b+c res FIN 81 . b. • Diagrama de flujo.Practica # 4.b.res a. Diseñar un algoritmo y un programa que realice la suma de tres números los cuales deben ser capturados por el ususario. c IMPRIMIR (res) FIN. Pseudocódigo (programa principal).b. ENTRADAS a. c SALIDAS res PROCESOS res=a+b+c • Algoritmo. c) res = a. • Definición del problema. b. INICIO: a. b. res IMPRIMIR("Suma de 3 numeros introducidos por el usuario" ) LEER (a.

res = a + b + c. cout << "El valor de b:" << b << endl. int main () { int a. } • Programa ejecutado. ya se puede apreciar lo que se desplegó anteriormente. cout << "Introduce el valor de b : ". cout << "\nIntroduce el valor de a : ". cin >> a. #include <iostream> #include <cstdlib> using namespace std. En este programa ya utilizamos una nueva palabra reservada llamada “cin” la cual nos sirve para hacer capturas por medio del teclado.b. system ("PAUSE"). • Conclusiones. cout << "El valor de c:" << c << endl. en este caso cuando se pide un dato. en este caso fueron solo tres números los cuales se volvieron a sumar como en programa anterior. mostrándose igualmente la suma de los tres números. cout << "\nEl resultado es:" << res << endl. cout << "Suma de 3 numeros introducidos por el usuario" << endl. cin >> b. cout << "\nEl valor de a:" << a << endl. void portada (). cin >> c.• Programa.c.res. 81 . return 0 . cout << "Introduce el valor de c : ".

• Diagrama de flujo. vol l si l>0 no “ERROR” vol vol =1*1*1 FIN 81 .Practica # 5. los datos deben de ser introducidos por el usuario. INICIO: l. INICI O int l. vol IMPRIMIR ("Calculo del volumen de un cubo") LEER ( l) SI ( l>0 )HACER IMPRIMIR ( l ) vol = l * l * l IMPRIMIR (vol) SI NO IMPRIMIR ("El volumen no se puede calcular") FIN. ENTRADAS l SALIDAS volumen PROCESOS volumen= l*l*l • Algoritmo. Volumen de un cubo. • Definición del problema. Pseudocódigo (programa principal). Diseñar un algoritmo y un programa que calcule el volumen de un cubo.

void portada (). • Conclusiones. cout << "\nIntroduce el valor del lado: ". cout << "\nEl volumen del cubo es: " << vol << endl. cin >> l. } • Programa ejecutado.• Programa. } else { cout << "\nEl volumen no se puede calcular" << endl. En este programa ya se utilizó el una sentencia de flujo programático llamada “if-else” la cual nos sirve para hacer condiciones y se puede traducir así “si-si no” solo es para poder tomar parámetros. vol = l * l * l. cout << "Calculo del volumen de un cubo" << endl. #include <iostream> #include <cstdlib> using namespace std. float vol. system ("PAUSE"). if (l>0) { cout << "\nEl valor de l: " << l << endl. Eso fue lo único diferente de los programas anteriores 81 . } return 0 . hasta a donde va a poder introducir datos el usuario. system ("PAUSE"). en este caso desde donde. int main () { int l.

ENTRADAS lado1. Área de un polígono. Diseñar un algoritmo y un programa que calcule el área de un polígono en el cual el usuario pueda introducir los lados del polígono. lado2) SI((lado1>0)y(lado2>0))HACER área= lado1 * lado2 IMPRIMIR (lado1. • Definición del problema. lado2) IMPRIMIR (área) SI NO IMPRIMIR ("El area no se puede calcular") FIN.lado2. Pseudocódigo (programa principal).Practica # 6. area l1.l2 si (l>0) y (l<10) area =11*12 no area “ERROR” FIN 81 . lado2 SALIDAS área PROCESOS área=lado1*lado2 • Algoritmo. • Diagrama de flujo. área IMPRIMIR ("Calculo del área de un polígono") LEER ( lado1. INICI O int l1.l2. INICIO: lado1.

} • Programa ejecutado. #include <iostream> #include <cstdlib> using namespace std. cout << "\nIntroduce el valor de L1 : ". } system ("PAUSE"). cout << "Calculo del area de un poligono" << endl. cout << "\nEl area es : " << area << endl. cout << "\nIntroduce el valor de L2 : ".l2. 81 . cin >> l2. cout << "El valor de L2 : " << l2 << endl. cout << "\nEl valor de L1 : " << l1 << endl. cin >> l1. return 0 . En este programa no se utiliza nada nuevo solo se reafirman todos los conocimientos de las practicas anteriores ya que todo lo visto en este programa ya se ha utilizado en los programas anteriores. if ((l1>0)&&(l2>0)) { area= l1 * l2.• Programa. int main () { int l1. void portada (). } else { cout << "\nEl area no se puede calcular" << endl. float area. • Conclusiones.

Opcion 3”) IMPRIMIR (“Cualquier otra para salir”) LEER (opción) SI (opcion = 1) HACER IMPRIMIR (texto1.Opcion 2”) IMPRIMIR (“3. Diseñar un algoritmo y un programa que muestre un menú con. opcion ) SI (opcion= 2) HACER IMPRIMIR (texto1.Opcion 1”) IMPRIMIR (“2. If-else if-else. INICIO: texto1= “LA OPCION DESEADA ES:” opcion IMPRIMIR (“Selecciona la opcion deseada”) IMPRIMIR (“1... opción) SI (opcion = 3) HACER IMPRIMIR (texto1. 81 . • Definición del problema..Practica # 7. opcion) SI NO IMPRIMIR ("salir") FIN. en el cual podamos seleccionar cualquiera de las opciones y después de seleccionar una opción nos muestre la opción que seleccionamos. ENTRADAS opcion SALIDAS Opción seleccionada PROCESOS ninguno • Algoritmo. Pseudocódigo (programa principal).

int main () { int opcion.. opcion opcion =3 texto1.. INICI O int opción.Opcion 2\n" << "3.Opcion 1\n" << "2. #include <iostream> #include <cstdlib> #define texto1 "LA OPCION DESEADA ES:" using namespace std.Opcion 1" "2.Opcion 3\n" << "Cualquier otra para salir\n * ". texto= “la opción deseada es :” "Selecciona la opcion deseada" "1. opcion FIN • Programa.Opcion 2" "3.. 81 . cout << "Selecciona la opcion deseada\n\n" << "1....• Diagrama de flujo. opcion texto1.Opcion 3" << "Cualquier otra para salir\n * ". cin >> opcion. opcion opcion =1 opcion =2 texto1.

} else { cout << "salir" <<endl. • Conclusiones. } else if (opcion == 3) { cout << texto1 << opcion << endl. etc. la constante vale en este caso lo mismo en todo el programa una. cuando se declara una constante. } else if (opcion == 2) { cout << texto1 << opcion << endl.if (opcion == 1) { cout << texto1<< opcion << endl. 81 . aquí ya utilizamos la sentencia de flujo programático if-else if-else. aquí ya podemos poner varias condiciones y que realice cierta acción dependiendo de la condición obtenida. química. } system ("PAUSE"). como en física. En este programa lo nuevo fue que ahora declaramos una constante llamada texto.. } • Programa ejecutado. return 0. matemáticas.

• Definición del problema. ENTRADAS radio. 81 . INICIO: PI = 3. altura SALIDAS volumen PROCESOS volumen=PI*radio*altura • Algoritmo.1416 r.Practica # 8.h) SI (volcil>0) HACER IMPRIMIR ( volcil) SI NO IMPRIMIR ("NO SE PUEDE CALCULAR) FIN. Pseudocódigo (capturadato). haciendo sus consideraciones correspondientes. INICIO: valor LEER (valor) REGRESAR valor FIN. Pseudocódigo (programa principal). Pseudocódigo (calculavolumen). Diseñar un algoritmo y un programa que realice el calculo del volumen de un cilindro.h. Volumen de un cilindro.volcil r = capturadato () h = capturadato () volcil = calculavolumen (r.

INICIO res.volcil r = capturadato (" radio") h = capturadato (" altura") capturadato() double valor valor return valor volcil = calculavolumen (r.2) * alt. double alt) double r.h. alt SI (rad>0 && alt>0) res = PI * pow (rad. INICI O double capturadato(string palabra) double calculavolumen(double rad.h) si FIN volcil no volcil> 0 “no se puede calcular” FIN calculavolumen() double res si (rad>0 && alt>0) no res = PI * pow (rad. • Diagrama de flujo. rad.2) * alt return 0 return res FIN 81 . REGRESAR (res) SI NO REGRESAR ( 0) FIN.

• Programa. return res. if (volcil>0) { cout << "\n\tEl volumen es:" << volcil << "\n\t". cin >> valor . double capturadato(string palabra). h = capturadato (" altura"). } else { 81 . double calculavolumen(double rad. } else { cout << "NO SE PUEDE CALCULAR" << endl.2) * alt. int main () { double r. } double capturadato (string palabra ) { double valor.h.1416 using namespace std. volcil = calculavolumen (r. } system ("PAUSE"). double alt) { double res. } double calculavolumen (double rad.h). return valor.volcil. double alt). return 0. #include <iostream> #include <cstdlib> #include <cmath> #include <string> #define PI 3. r = capturadato (" radio"). cout << "Captura el valor de " << palabra << "=" . if (rad>0 && alt>0) { res = PI * pow (rad.

ya que cuando las mandas llamar desde el programa principal. a las cuales yo los llamo subrutinas. con este reducimos muy drásticamente nuestro programa principal 81 . que se manda a llamar pequeños programas desde el programa principal a estos nuevos programas se llaman funciones. • Conclusiones.return 0. realizan las instrucciones que le marcamos y después vuelve al programa principal. } } • Programa ejecutado. En este programa utilizamos ya lo que se llama forma de programar estructuradamente. esto consiste en si a mi muy manera de ve.

INICIO: m1. ENTRADAS m1. x3 81 . m2. m3) imprime (m1. Paso por referencia. x2. m2. Pseudocódigo (imprime).Practica # 9. Pseudocódigo (capturadato). m2.m3 m1 = capturadato () m2 = capturadato () m3 = capturadato () imprime (m1. m2. m2. m3) FIN. Pseudocódigo (programa principal). • Definición del problema. Diseñar un algoritmo y un programa que realice la duplicación de tres números introducidos por el usuario. INICIO: valor LEER (valor) REGRESAR valor FIN.m2. INICIO: x1. m3) duplica (m1. m3 //aquí ya deben de estar duplicados PROCESOS m1*=2 m2*=2 m3*=2 • Algoritmo. m3 SALIDAS m1.

float x2. INICIO: &m1. x3 FIN 81 . &m2. &m3 m1*=2 m2*=2 m3*=2 FIN. INICI O void duplica (float &m1.m2. x1) IMPRIME ( "valor M2=". m2. Pseudocódigo (duplica). m3) FIN imprime( float x1. x2) IMPRIME ( "valor M3=". x2. float 3) duplica (float &m1. float &m2. m2. float x2. float &m3) m1*=2 m2*=2 m3*=2 FIN x1. float &m2.m3 double capturadato(string palabra) m1 = capturadato ("M1 ") m2 = capturadato capturadato(string palabra) double valor valor return valor ("M2 FIN ") m3 = capturadato ("M3 ") imprime (m1. x3) FIN.IMPRIME ( "valor M1=". //el “&” significa direccion • Diagrama de flujo. float &m3) void imprime( float x1. float x3) float m1. m3) duplica (m1. m2. m3) imprime (m1.

cout << "\n\tVALORES DUPLICADOS"<<endl. } void imprime (float x1. } 81 . m3). cin >> valor . imprime (m1. m3*=2.m3. float &m2. cout << "valor M3=" << x3 << "\n" << endl. #include <iostream> #include <cstdlib> using namespace std. float &m3). system ("CLS"). m2 = capturadato ("M2 "). float x2. duplica (m1. m2. void imprime( float x1. return valor. return 0. doublé capturadato (string palabra). float &m3) { m1*=2. m2*=2.m2. } double capturadato (string palabra ) { double valor. cout << "valor M2=" << x2 << "\n" . void duplica (float &m1. imprime (m1. cout << "Captura el valor de " << palabra << "=" . m3). cout <<"\n\tVALORES INTRODUCIDOS"<<endl. float x2. } void duplica (float &m1. float &m2. m2. system ("PAUSE"). int main() { float m1.• Programa. m2. m3 = capturadato ("M3 "). float x3). m1 = capturadato ("M1 "). m3). float x3) { cout << "valor M1=" << x1 << "\n" .

todo lo demás ya se ha visto en los programas anteriores. es el segundo programa en el que se está utilizando funciones. 81 . En este programa como su nombre bien lo dice es paso por referencia. que quiere decir que cuando ponemos el “&” a lo que nos estamos refiriendo es a lo que se encuentra en la dirección de la variable a la que este apuntando. • Conclusiones. Practica # 10.• Programa ejecutado.

INICIO: v.i) IMPRIMIR ( v ) SI NO IMPRIMIR ("No hay resistencias negativas") IMPRIMIR (Desea calcular otro voltaje”) LEER (salir.i.Ley de ohm.) MIENTRAS (salir= “s” || salir= “S”) FIN. resistencia SALIDAS voltaje PROCESOS voltaje=corriente*resistencia • Algoritmo. i. ENTRADAS corriente. res res = r *i. INICIO: r. Pseudocódigo (capturadato). Pseudocódigo (calcula).x HACER r = capturadato (" la Resistencia") i = capturadato (" la Corriente") SI (r>0) HACER v = calcula (r. INICIO: valor LEER (valor) REGRESAR valor FIN. Pseudocódigo (programa principal). • Diagrama de flujo. • Definición del problema. salir. 81 . REGRESAR ( res) FIN. Diseñar un algoritmo y un programa que calcule el voltaje de un circuito a partir de la ley de ohm.r. el usuario debe introducir la corriente y la resistencia.

r.x.INICI O double calcula (double r. cout << "El voltaje es = " << fixed << setprecision (4) << v << " volts" << endl. int main() { double v. if (r>0) { v = calcula (r. i = capturadato (" la Corriente").i.i. double i). do { r = capturadato (" la Resistencia").i) V calcula (double r. } 81 . doublé capturadato(string palabra). int salir. double i) double res FIN salir si no (salir= “s” || salir= “S”) res = r *i return res FIN FIN • Programa.x double capturadato(string palabra) capturadato(string palabra) double valor valor r = capturadato (" la Resistencia") i = capturadato (" la Corriente")" si return valor (r>0) no v = calcula (r. #include <iostream> #include <cstdlib> using namespace std. cout << "Practica 10 Ley de Ohm" << endl. int salir.i).r. double i) double v. double calcula (double r..

double i) { double res. } • Programa ejecutado. ya que todo ya lo hemos vistos. • Conclusiones. res = r *i. } while (salir!= 1). 81 . cin >> salir. return 0. creo que solo sirvió para entender mejor el concepto de los programas estructurados. Practica # 11. return valor. return res. cin >> valor . system ("PAUSE").else { cout << "No hay resistencias negativas" << endl. } cout << "\nTeclea 1 para salir y cualquier otro para continuar" << endl. } double capturadato (string palabra ) { double valor. Creo que este programa nos va a resultar muy útil más adelante ya que este puede sacar cualquier voltaje que queramos. cout << "Captura el valor de " << palabra << "=" . } double calcula (double r. se reafirmo el conocimiento. para poder manejar el uso de funciones en los programas.

x2) SI NO IMPRIMIR ("ESTA ECUACIÓN NO SE PUEDE CALCULAR") SI NO IMPRIMIR ("ESTA ECUACIÓN NO SE PUEDE CALCULAR") FIN. b.Ecuación cuadrática. x2 SI (a!=0) HACER w = pow (b. mejor conocida como ecuación general. Pseudocódigo (programa principal). B. INICIO: a.(4 * a * c) SI ( w>0 ) HACER x1 = ( ( -b ) + (sqrt ( w )) ) / (2 * a) x2 = ( ( -b ) . c IMPRIMIR ("PROGRAMA 11. x1.x2 PROCESOS • Algoritmo. los datos deben de ser introducidos por el alumno.2) . • Definición del problema. c) FIN. w.ECUACION CUADRÁTICA") a = capturadato ("a") b = capturadato ("b") c = capturadato ("c") calcula (a. haga las consideraciones correspondientes. 81 . Pseudocódigo (capturadato). Pseudocódigo (calcula). C SALIDAS x1.(sqrt ( w )) ) / (2 * a) IMPRIMIR (x1. Diseñar un algoritmo y un programa que calcule la ecuación cuadrática. b. ENTRADAS A. b. INICIO: a. c.

double b. x1. c) si calcula () float w. x2 no si (a! =0) "ESTA ECUACION NO SE PUEDE CALCULAR" w = pow (b. INICIO void calcula ( double a. b.INICIO: valor LEER (valor) REGRESAR valor FIN.x2 FIN capturadato() double valor valor return valor FIN 81 . • Diagrama de flujo.c capturadato (string palabra) a = capturadato ("a") b = capturadato ("b") c = capturadato ("c") calcula (a.2) . double c) float a.b.(sqrt ( w )) ) / (2 * a) x1.(4 * a * c) no ( w> 0) "ESTA ECUACION NO SE PUEDE CALCULAR" FIN x1 = ( ( -b ) + (sqrt ( w )) ) / (2 * a) x2 = ( ( -b ) .

void calcula ( double a. double b. c = capturadato ("c").b. } 81 .(sqrt ( w )) ) / (2 * a). int main () { float a. c). x1.(4 * a * c). cout << "EL VALOR DE X2=" << x2 << endl.• Programa. return 0. if ( w>0 ) { x1 = ( ( -b ) + (sqrt ( w )) ) / (2 * a). b = capturadato ("b"). cout << "PROGRAMA 11" << endl. double c).c.2) .double c) { float w. x2. system ("PAUSE"). x2 = ( ( -b ) . calcula (a. cout << "EL VALOR DE X1=" << x1 << endl. double capturadato(string palabra). cout << "ECUACION CUADRATICA\n" << endl. #include <iostream> #include <cstdlib> using namespace std. double b. b. if (a!=0) { w = pow (b. } void calcula (double a. system ("PAUSE"). a = capturadato ("a"). } else { cout << "ESTA ECUACION NO SE PUEDE CALCULAR" <<endl.

} else { cout << "ESTA ECUACION NO SE PUEDE CALCULAR" <<endl. otro programa muy útil que puede ser usado en muchos momentos. en este programa se vuelven a usar funciones y el ya bien manejo if-else. }} double capturadato (string palabra ) { double valor. • Conclusiones. system ("PAUSE"). } • Programa ejecutado. 81 . sobre todo por aquellos a los que no se les dan las matemáticas. Este programa va a ser muy útil ya que puede resolver cualquier ecuación aunque parezca muy difícil. return valor. cout << "Captura el valor de " << palabra << "=" . cin >> valor .

Pseudocódigo (programa principal). Pseudocódigo (calcula).Practica # 12. b). factorial. f. ENTRADAS numero SALIDAS factorial PROCESOS factorial=1*2*3*4*--------numero • Algoritmo. • Definición del problema. FIN. 81 . calcula(a. b a = capturadato (“numero a calcular”) b = a-1. Diseñar un algoritmo y un programa que calcule el factorial de cualquier número introducido por el usuario. c SI ( f> 0) HACER MIENTRAS ( c> 1) f= f*c c=c-1 IMPRIMIR ( f) O SI ( f < 0) HACER IMPRIMIR ("NO SE PUEDE CALCULAR") SI NO IMPRIMIR("EL FACTORIAL ES 1" << ) FIN. INICIO: a.

#include <iostream> #include <cstdlib> using namespace std. 81 capturadato(string palabra) double valor valor return valor FIN . calcula(a.Pseudocódigo (capturadato). int main () { double a. • Diagrama de flujo.b a = capturadato () b = a-1x2 calcula(a.b. void calcula (double f. a = captura (). double captura (). double c). b). return 0. INICIO double capturadato (string palabra) void calcula (double f. INICIO: valor LEER (valor) REGRESAR valor FIN. b = a-1. double c) double a. b) "NO SE PUEDE CALCULAR" si calcula () si ( f> 0) no f= f*c c=c-1 (f< 0) no no si ( c> 1) f "EL FACTORIAL ES 1" FIN whi le FIN ( c> 1)) • Programa.

system ("PAUSE"). cout << "INTRODUCE EL NUMERO A CALCULAR cin >> factorial. } } " . } else { cout << "\nEL FACTORIAL ES 1" << endl. 81 . system ("PAUSE"). } void calcula (double f.1. • Programa ejecutado.} double captura () { double factorial. return factorial. } cout << "\nEL FACTORIAL ES:" << f << endl. } else if ( f < 0) { cout << "\nNO SE PUEDE CALCULAR" << endl. system ("PAUSE"). c = c . double c) { if ( f> 0) { while ( c> 1) { f = f * c.

en este caso de matemáticas y el como utilizando una buena lógica podemos plasmar cosas muy buenas en los programas los cuales como es en este caso resuelven operaciones como si fuera una calculadora aquí se puedo apreciar el uso de “while”. Este programa nos muestra una vez mas que la programación la podemos utilizar para realizar muchos problemas prácticos. Pseudocódigo (programa principal). Serie de números de 3 en 3 hasta el 99. ENTRADAS ninguna SALIDAS “3.15. INICIO: suma.6. • Definición del problema.9. cuenta.• Conclusiones. Practica # 13. Diseñar un algoritmo y un programa que imprima una serie de 3 en 3 hasta llegar al numero 99 o hasta que sume el numero 33 veces.18……99” PROCESOS ninguno • Algoritmo. que simplemente es para hacer ciclos repetitivos dependiendo de las condiciones.12. acumulador suma = 0 cuenta = 0 IMPRIMIR (“Serie de números”) MIENTRAS (cuenta <= 32) HACER cuenta= cuenta +1 suma = 3 * cuenta 81 .

acumulador =acumulador + suma IMPRIMIR (suma, acumulador) IMPRIMIR(“La suma total es ", acumulado)

FIN.

• Diagrama de flujo.
INICIO int suma=0,cuenta=0,acumulador=0

cuenta= cuenta +1 suma = 3 * cuenta acumulador =acumulador + suma suma
si

no

(cuenta<=3 2) while ( c> 1)) acumulador

FIN

• Programa.
#include <iostream> #include <cstdlib> int main() { int suma,cuenta,acumulador; suma = 0; cuenta = 0; cout << "Serie\tSuma de serie\n" << endl; while (cuenta <= 32) 81

{ cuenta= cuenta +1; suma = 3 * cuenta; acumulador =acumulador + suma; cout << suma <<"\t"<< acumulador<< endl; } cout <<"\nLa suma total es "<<acumulador<< endl; system ("PAUSE"); return 0; }

• Programa ejecutado.

• Conclusiones.
En este programa utilizamos por segunda la sentencia de flujo programático llamad “while” que como ya lo dije es para hacer ciclos, y es muy útil para realizar el mismos proceso por tantas veces como nosotros quieramos, se comprendió mejor el uso de “while” ya se sabe bien como funciona y nos puede ser muy útil, en otros programas para no escribir mucho código si ni hacerlo mediante un ciclo.

81

Practica # 14.
Velocidad de corredores. • Definición del problema.
Diseñar un algoritmo y un programa que calcule la velocidad de corredores de 1500 m, los datos deben de ser introducidos por el usuario , para dejar de calcular velocidades pide al usuario que ingrese 0 en los dos valores.. ENTRADAS ninguna SALIDAS “3,6,9,12,15,18……99” PROCESOS ninguno

• Algoritmo.
Pseudocódigo (programa principal). INICIO: min,seg; HACER min = capturadato ("los minutos"); seg = capturadato ( "los segundos"); calcula(min,seg); MIENTRAS ((min!=0)&&(seg!=0)) FIN. Pseudocódigo (programa calcula). INICIO: distancia, tiempo, velocidad distancia =1500; SI ((min<0)||(seg<0)) HACER IMPRIMIR ("No hay tiempos negativos") SI ((min>=0)&&(seg>=0)) HACER 81

tiempo = (min * 60) + (seg) velocidad = distancia / tiempo IMPRIMIR (velocidad) FIN. Pseudocódigo (capturadato). INICIO: valor LEER (valor) REGRESAR valor FIN.

• Diagrama de flujo.
INICIO double capturadato (string palabra) void calcula(float min, float seg) float min,seg min = capturadato ("los minutos") seg = capturadato ( "los segundos")
no

calcula () float distancia, tiempo, velocidad distancia=1500
si

((min<0)|| (seg<0))

“No hay tiempos negativos”

calcula(min,seg)

tiempo = (min * 60) + (seg) velocidad = distancia / tiempo
si

((min! =0)&& (seg!=0)
no

velocidad

FIN

FIN

81

} while ((min!=0)&&(seg!=0)). void calcula(float min. } else if((min>=0)&&(seg>=0)) { tiempo = (min * 60) + (seg). cout << "\tEa velocidad de este corredor es de " << velocidad << "m/s\n\t".seg). calcula(min.seg. velocidad = distancia / tiempo. distancia=1500. velocidad.• Programa. } void calcula(float min. cout << "\n\t0 EN LOS DOS TIEMPOS PARA DEJAR DE CALCULAR" << endl. int main() { float min. cout << "\n\tCORREDORES DE 1500m" << endl. do { min = capturadato ("los minutos"). system ("PAUSE"). } } double capturadato (string palabra ) 81 . if ((min<0)||(seg<0)) { cout << "\tNo hay tiempos negativos\n\t". cout << "\n\tEl tiempo de este corredor es de "<<min<<" minutos "<<seg<<" segundos"<< endl. float seg) { float distancia. system ("PAUSE"). return 0. #include <iostream> #include <cstdlib> double capturado(string palabra). tiempo. } else { system ("PAUSE"). seg = capturadato ( "los segundos"). float seg).

Diseñar un algoritmo y un programa que calcule el promedio de un alumno el cual cuenta con 7 materias. return valor. Practica # 15. las calificaciones deben de ser introducidas por el ususario. cout << "Captura el valor de " << palabra << "=" . y bastaba con introducir dos ceros para que el programa saliera. si el esta sentencia es muy parecida al “while”. Promedio de un alumno con 7 calificaciones. cin >> valor . } • Programa ejecutado. En este programa utilizamos el “do-while” otra sentencia de flujo programático que en este caso sirvió para que el usuario capturara todos los tiempos que quisiera. solo que aquí primero se realiza el proceso y luego checa la condición. ENTRADAS calificación SALIDAS promedio PROCESOS promedio=calificaciones/7 81 . • Conclusiones. mientras que en “while” primero se checaba la condición y luego se realizaba el ciclo. • Definición del problema.{ double valor.

Pseudocódigo (promedio).i++) HACER LEER ( calificación) SI ((calificacion>0)&&(calificacion<11)) HACER prom = prom + calificacion SI NO IMPRIMIR( "LAS CALIFICACIONES SON DE 1 A 10”) i = i-1 calificacion = calificacion . calificacion prom = 0 PARA (i=1. Pseudocódigo (programa principal).calificacion prom = prom + calificacion REGRESAR (prom) FIN.• Algoritmo. INICIO: valor LEER (valor) REGRESAR valor FIN. • Diagrama de flujo.i<=7. INICIO: i. Pseudocódigo (capturacalificacion). 81 . prom. FIN. INICIO: a a = capturacalificacion() promedio (a) FIN Pseudocódigo (capturadato). INICIO: prom = prom / 7 cout << "promedio "<< prom << endl.

cal i=1 i<=7 i++ FI N prom = prom + cali i = i-1 cali= cali . prom=0.INICIO double capturacalificacion() double promedio(float prom) float a a = capturacalificacion() cali promedio (a) ((cali>0) &&(cal< 11)) no si capturacalificacion () float i. 81 .cal prom = prom + cal “Calificaciones de 1 a 10” return promedio FIN promedio() prom = prom / 7 prom FIN • Programa #include <iostream> #include<cstdlib> using namespace std.

double promedio(float prom). return 0. prom. cout << "promedio "<< prom << endl. for(i=1.calificacion. } double promedio ( float prom) { prom = prom / 7.i++) { cout << "\tcaptura calificacion" << i << "=" . prom = 0. promedio (a). if ((calificacion>0)&&(calificacion<11)) { prom = prom + calificacion. system ("PAUSE"). } else { cout << "NO HAY CALIFICACIONES MENORES DE 0 Y MAYORES DE 10" << endl. i = i-1. cout << "PROGRAMA 15. } } return prom. cin >> calificacion.calificacion. 81 .double capturacalificacion(). prom = prom + calificacion. int main () { float a.i<=7. } double capturacalificacion() { float i. a = capturacalificacion(). calificacion = calificacion . PROMEDIO DE UN ALUMNO CON 7 CALIFICACIONES" << endl.

Números positivos.} • Programa ejecutado. • Conclusiones. esta actúa como si fuera un “while” o un “do-while”. en ciertos casos. solo que el “for” en su estructura misma ya lleva lo que el inicializar variables. 81 . y de cuánto va a ser el aumento o el decremento. creo que es mucho más útil que el “while” o el mismo “do-while”. es muy útil ya que así nos ahorraremos mucho código. En este programa se utilizo una nueva sentencia de flujo programático llamada “for”. como este. de donde hasta donde va a abarcar el ciclo. Practica # 16.

i<=10. numero PARA (i=1.• Definición del problema. Pseudocódigo (ciclo). INICIO: i. INICIO: valor LEER (valor) REGRESAR valor FIN. ENTRADAS numero SALIDAS positivo PROCESOS (Numero>0)=positivo • Algoritmo. Diseñar un algoritmo y un programa que diferencie los números para que solo imprima los numero positivos y cuando no sea un numero positivo solo pida el siguiente numero. Pseudocódigo (programa principal). int i doublé numero i=1 i<=10 i++ (numero > 0) si 81 numero FIN . INICIO double capturadato(int j) void imprime(double numero) void ciclo() ciclo() FI numero= capturadato(i) ciclo () • Diagrama de flujo. i++) HACER numero = Capturadato(i) SI (numero > 0) HACER imprime(numero) FIN Pseudocódigo (capturadato). INICIO: ciclo() FIN.

ciclo(). int main() { cout << "PROGRAMA 16. MUESTRA SOLO LOS NUMERO POSITIVOS" << endl. i++) 81 . double Capturadato(int j). system("pause"). i<=10. void imprime(double numero). void ciclo(). #include <iostream> #include<cstdlib> using namespace std. double numero.capturadato(string palabra) double valor valor imprime() return valor numero FIN FIN • Programa. return 0. for(i=1. } void ciclo() { int i.

cout << "\nCaptura el valor de " << j << "=" . cin >> valor.{ numero = Capturadato(i). creo que con este programa quedo mejor comprendido el uso del “for”. si lo era lo imprimía. Números positivos. } else{} } } double Capturadato(int j) { double valor. pero el cual refleja muy bien el uso del for. negativos y neutros. if(numero > 0) { imprime(numero). 81 . return valor. } void imprime(double numero) { cout << "numeros positivos = " << numero << endl. } • Programa ejecutado. es un programa muy simple. En este programa se utilizo la sentencia “for” solo para que el usuario capturara 10 numeros y al mismo tiempo comparaba si era un número mayor a cero. • Conclusiones. Practica # 17. si no lo era simplemente pedía el otro dato.

INICIO: valor LEER (valor. Diseñar un algoritmo y un programa que pida al usuario 20 numeros. SI NO Neu ++. IMPRIME (Pos. O SI (numero < 0) Neg ++. Pseudocódigo (ciclo). Neu = 0. "Negativos") IMPRIME (Neu. INICIO: Pos = 0. Neg = 0. y los negativos(-) . ENTRADAS numero SALIDAS positivos neutros negativos PROCESOS (numero>0)=positivo (numero=0)=neutro (numero<0)=negativo • Algoritmo. Pseudocódigo (capturadato). "Neutros") FIN. "Positivos") IMPRIME (Neg. INICIO: Ciclo() FIN. i++) HACER numero = CapturaDato(i) SI (numero > 0) HACER Pos ++. numero PARA (i = 1. y al termino de capturarlos te muestre la cantidad de numero positivos que introdujo el usuario. Pseudocódigo (programa principal).• Definición del problema. i <= 20. asi mismo para los neutros(0).j) REGRESAR valor 81 .

FIN. "Positivos") si i++ (numero > 0) si Pos++ Imprime(Neg.j return valor FIN imprime() palabra. " = ".numero 81 FIN . • Diagrama de flujo. INICI O double capturadato(int j) void imprime(double numero. Pseudocódigo (imprime). "Neutros") FIN capturadato( ) double valor Valor. "Negativos") (numero <0) Neu++ Neg++ Imprime(Neu.string palabra) void ciclo() ciclo() FI N ciclo () int i doublé numero i=1 i<=10 numero= capturadato(i) Imprime(Pos. IMPRIME(palabra. numero) FIN.

} } 81 .• Programa. CUANTOS NEGATIVOS Y CUANTOS NEUTROS"<<endl. int main() { cout << "PROGRAMA 16. void Ciclo(). } else { Neu ++. i <= 20. #include <iostream> #include <cstdlib> using namespace std. Neg = 0. void Imprime(double numero. } void Ciclo() { int i. system("pause"). Ciclo(). for(i = 1. if(numero > 0) { Pos ++. double numero. } else if(numero < 0) { Neg ++. Neu = 0. return 0. i++) { numero = CapturaDato(i). Pos = 0. MUESTRA CUANTOS NUMEROS\nSON POSITIVOS. string palabra). double CapturaDato(int j).

} double CapturaDato(int j) { double Valor.Imprime(Pos. al igual se le agregaron mas contadores. por lo cual creo que solo sirvió para reafirmar el conocimiento con respecto a “for”. Imprime(Neu. "Negativos"). string palabra) { cout << "La cantidad de numeros " << palabra << " = " << numero << endl. "Positivos"). ya que todo en este programa ya se ha visto. En este programa es muy parecido al anterior solo se le agregaron algunas condiciones mas. } • Programa ejecutado. • Conclusiones. en si este es un programa muy sencillo. 81 . "Neutros"). cin >> Valor. return Valor. } void Imprime(double numero. Imprime(Neg. cout << "El valor " << j <<"= ".

Pseudocódigo (calcula). j. • Definición del problema. INICIO: m portada() m=capturadato("el numero") calcula(m) FIN. 81 . ENTRADAS limite SALIDAS f(x) PROCESOS f(x)=(1/n+(n+1)) • Algoritmo.j+1) SI NO IMPRIMIR ("¡Error!") FIN. INICIO: j SI (n > 0) HACER PARA(j = 1. Pseudocódigo (programa principal).")(". j++) HACER IMPRIMIR ("1/(". Diseñar un algoritmo y un programa que pida al usuario un numero el cual va a ser el limite de la función f(x)= (1/(1+2))+ ((1/2+3))+ ((1/3+4))+ ((1/n+(n+1))). Función según su límite.j) REGRESAR valor FIN. INICIO: valor LEER (valor.Practica # 18. Pseudocódigo (capturadato). j <= n.

INICI O double capturadato(int j) void imprime(double numero.• Diagrama de flujo. "Negativos") (numero <0) Neu++ Neg++ Imprime(Neu. "Neutros") FIN capturadato( ) double valor Valor.string palabra) void ciclo() ciclo() FI N numero= capturadato(i) Imprime(Pos. "Positivos") si ciclo () int i doublé numero i=1 i<=10 i++ (numero > 0) si Pos++ Imprime(Neg.numero FIN 81 .j return valor imprime() FIN palabra.

j <= n. return 0. } } else { cout << "¡Error!". 81 . if(n > 0) { cout << "J = ". } void calcula(int n) { int j. int main() { int m. j++) { cout << "1/(" << j << ")(" << j+1 << ")". } cout << endl. MUESTRA UNA FUNCION \n\tSEGUN SU LIMITE"<< endl. cout << "PROGRAMA 18. for(j = 1. cin >> valor . void calcula(int n). cout << "Captura el valor de " << palabra << "=" . } • Programa ejecutado. cout << " + \n". return valor. } double capturadato (string palabra ) { double valor. doublé capturadato(string palabra). system("pause"). calcula(m). #include <iostream> #include <cstdlib> using namespace std.• Programa. portada(). m=capturadato("el numero").

INICIO: a. • Definición del problema. para cuando X toma los valores en A= 10. Este es uno de los programas mas sencillos de todo el curso ya que no tiene mayor complejidad solo es para ejemplificar una vez mas el uso de for. Practica # 19.• Conclusiones.40. Pseudocódigo (programa principal).30. ENTRADAS Ninguna SALIDAS Función A Función B PROCESOS Y=(X3-2X2+3X-4)/X2-4 • Algoritmo. 12. calcula () 81 .b. y de cómo lo podemos manejar a nuestro antojo. 9……. y para B = 3. 14……. 6. Diseñar un algoritmo y un programa que muestre la salida de una la función Y1=(X3-2X24)/X24. Tabulación de funciones.

2 ) ) + ( 3 * i + 4)) / (pow (i.( 2*pow ( i .2) . INICIO: y. Pseudocódigo (calcula2).3))-(2*pow(i .Y si i<=4 0 81 fin i+2 . 2 ) ) + ( 3 * i + 4)) / (pow (i. i IMPRIMIR ( "PARA B") PARA (i=3. INICIO: y. 3) ) .Y si i<=30 no fin i+3 no i=10 y = ((pow(i.2) . Pseudocódigo (calcula). i “PARA A” “PARA B” calcula() i=3 Calcula2() y = ((pow(i.4) FIN i.2) . i IMPRIMIR ( "PARA A ") PARA (i=10.3))-(2*pow(i .( 2*pow ( i . IMPRIMIR (X.2))+ (3*i+4))/(pow(i.4). Y) FIN.2))+ (3*i+4))/(pow(i. • Diagrama de flujo.calcula2 () FIN. i<=40 .4) i. i<=30 . i () double y. 3) ) . IMPRIMIR ( X . Y) FIN.i=i+3) y = ( ( pow ( i .2) . calcula() INICIO Calcula2() void calcula () void calcula2 double y.i=i+2) y = ( ( pow ( i .4).

b. calcula (). int main () { int a. void calcula2 ().i. } void calcula() { double y. calcula2 ().• Programa #include <iostream> #include <cstdlib> void calcula (). return 0. 81 .

i=i+2) { y = ( ( pow ( i . 2 ) ) + ( 3 * i + 4)) / (pow (i. } system ("PAUSE"). cout << "X \t Y" << endl. i<=40 .( 2*pow ( i .2) .( 2*pow ( i . cout << i << "\t" << y << endl. cout << "X \t Y" << endl. } system ("PAUSE"). for (i=3. } void calcula2() { double y. cout << "PARA B" << endl. } • Programa ejecutado. 2 ) ) + ( 3 * i + 4)) / (pow (i.4). 81 .i=i+3) { y = ( ( pow ( i . for (i=10. i<=30 .i.cout << "PARA A " << endl.2) . 3) ) .4). cout << i << "\t" << y << endl. 3) ) .

y en la segunda tabulación x va cambiando de tres en tres. 81 . los valores de x iban cambiando gracias al “for” que utilizamos.• Conclusiones En este programa se utilizo de nueva cuenta como base el “for” para calcular el valor de una función dependiendo de qué valor tuviera x. Practica # 20. las dos tabulaciones. son es si lo mismo lo unico que cambia es que en la primer tabulación la x va de dos en dos.

Pseudocódigo (selec). TRIANGULO " “2. TRIANGULO INVERTIDO" “3. ENTRADAS Ninguna SALIDAS Triangulo Triangulo invertido Rombo PROCESOS Ninguno • Algoritmo. ROMBO " LEER (opción) REGRESAR (opción) FIN. INICIO: Salir. INICIO: opcion IMPRIMIR ( “SELECCIONA UNA OPCIÓN " “0.Triangulo. selec(a) IMPRIMIR (“DESEA VER OTRA FIGURA S/N”) LEER (salir) LIMPIAR (pantalla) MIENTRAS ( salir = 'S' or salir = 's' ) FIN. INICIO: 81 . Pseudocódigo (programa principal). Diseñar un algoritmo y un programa que muestre un menú el cual nos de las opciones de desplegar ciertas figuras. triangulo invertido y rombo. Pseudocódigo (menu). a HACER a = menu() LIMPIAR (pantalla). • Definición del problema. SALIR" “1.

INICIO: i.SELECCIONAR (opcion) caso(opción= 0) HACER (salir) ROMPER Caso (opción=1) IMPRIMIR (1.i<=5. IMPRIMIR (salto de línea) FIN.j<=m.i<=5. TRIANGULO INVERTIDO") HACER trianguloinvertido() ROMPER Caso (opción=3) IMPRIMIR ("3.j++) IMPRIMIR (" ") PARA (k=1. m++. j. Pseudocódigo (triangulo).k++) IMPRIMIR ("++" ) n--. INICIO: i. Pseudocódigo (trianguloinvertido). k.k<=n. k.j<=n. ROMBO”) HACER rombo() ROMPER default: IMPRIMIR (“OPCION INCORRECTA") FIN. m = 0 PARA (i=0. TRIANGULO") HACER (triangulo) ROMPER Caso (opción=2) IMPRIMIR ("2.k<=m. n = 5.j++) IMPRIMIR (" ") PARA (k=1.k++) IMPRIMIR ("++") n--. j.i++) PARA (j=0. n = 5. 81 .i++) PARA (j=0. m = 0 PARA (i=0.

• Diagrama de flujo. ROMBO” opción Regresar opción FIN Salir del programa triangulo() SALIR Trianguloinvertido( ) rombo “OPCION INCORRECTA” 81 . INICIO: HACER (triangulo()) HACER (trianguloinvertido()) FIN. CUALQUIER OTRA PARA CONTINUAR" selec(opcion ) opcion =0 opcion= 1 opcion= 2 opcion= 3 SALIR=”s”or SALIR=”S” SI NO FIN Opción! = anteriore s fin menú() “SELECCIONA UNA OPCIÓN” “0. int a. TRIANGULO” “2. SALIR” “1.m++. TRIANGULO INVERTIDO” “3. IMPRIMIR (salto de línea) FIN. a= menú() selec(a) "PRESIONA X PARA SALIR. INICIO double menu() void selec(int opcion) void triangulo() void trianguloinvertido() void rombo() int opcion char salir. Pseudocódigo (rombo).

j.m++ NO NO rombo triangulo () Trianguloinvertido () FIN 81 .m++ Salto de línea SI i<= m FIN n--. k. m=0 i=0 j=0 j=0 “ ” SI j<= n k=1 “ ++” SI k<= m k++ NO j++ NO “ ” SI j<= m k=1 “ ++” SI k<= n k++ j++ NO NO Salto de línea SI i<= m FIN n--. n=5.triangulo( ) int i. n=5. j. k. m=0 i=0 trianguloinvertido() int i.

......... } double menu() { cout << "\t. system ("CLS"). cout << "\nPRESIONA X PARA SALIR......... #include <iostream> #include <cstdlib> using namespace std......... TRIANGULO \t\t\t\t\t:\n".. system ("CLS")...... int a. double menu()...... cout << "\t: 3..... cout << "\t... int main () { char salir. void triangulo()..• Programa .. CUALQUIER OTRA PARA CONTINUAR\n * " ........... void trianguloinvertido().. void selec(int opcion).. cout << "\t: SELECIONA UNA OPCION\t\t\t\t:\n".......... void rombo()... cout << "\t: 0... selec(a).... cin >> salir. return opcion..\n"..... SALIR\t\t\t\t\t:\n"..\n"... return 0.. cin >> opcion.... int opcion... cout << "\t: 2. do { a = menu(). cout << "\t * ".... } void selec (int opcion) { 81 .. } while ( salir != 'x' && salir != 'X' ). cout << "\t: 1... TRIANGULO INVERTIDO\t\t\t:\n"..... ROMBO \t\t\t\t\t\:\n".

switch (opcion) { case 0: exit (0). } } void trianguloinvertido() { int i. trianguloinvertido().i<=5. case 2: cout << "2. break. cout << "\n". for (i=0. case 3: cout << "3.j++) { cout << " " .k. TRIANGULO INVERTIDO\n "<<endl. } for (k=1.j<=m. n = 5. break. } } void triangulo() { int i.i++) { for (j=0. } n--. break.k<=m. n = 5. m = 0.k. rombo(). break.j.i<=5. TRIANGULO\n "<<endl.j++) { cout << " " . m = 0.k++) { cout << "++" . cout << "\n".j. triangulo().i++) { for (j=0. m++. case 1: cout << "1. ROMBO\n "<<endl. for (i=0. 81 .j<=n. default: cout << "\tOPCION INCORRECTA\n" << endl.

k<=n. 81 . cout << "\n". trianguloinvertido().k++) { cout << "++" .} for (k=1. m++. } } void rombo() { triangulo(). } n--. } • Programa ejecutado.

• Conclusiones Este programa es algo simple pero nos muestra una forma de fácil de hacer figuras sin utilizar gráficos aun. que con solo unos “for” y con mucho ingenio se pueden lograr. no se nos ilustra mucho. nos serviría mucho para representar cuadrados. grandes cosas. Practica # 21. creo que este principio lo utilizare para agregárselo a mi proyecto final. 81 .

INICIO: Salir.”grafica”) PARA(i =0. Pseudocódigo (Ccal). IMPRIMIR (El promedio del alumno) Limpiar (pantalla) FIN. Calif2.j++) HACER Imprimir (Captura Alumno) Leer (cal) MIENTRAS (Cal[i][j]<=0 |o Cal[i][j]>10) cal[i][3]=cal[i][3]+cal[i][j]. calif[i][3]=calif[i][3]/3.j PARA (i=0. pidiéndole tres calificaciones. INICIO: i. Pseudocódigo (Ical) INICIO: LIMPIAR (pantalla) i. y debe de imprimir el promedio de cada alumno y debe de representarlo con una grafica. Diseñar un algoritmo y un programa que calcule el promedio de N alumnos.i++) IMPRIMIR (alumno. Pseudocódigo (programa principal).j<3. • Definición del problema.i<5.”calificación” .i<5. ENTRADAS Calif1. Calif3 SALIDAS Promedio Grafica PROCESOS Promedio=Calif1+Calif2+Calif3 • Algoritmo. Cal HACER Portada () Ccal (Cal) Ical (Cal) Imprimir (DESEA SACAR MAS PROMEDIOS S/N) Leer (Salir) MIENTRAS (salir=”s” o salir=”S”) FIN. calificación) 81 . j IMPRIMIR (“alumno” .Promedio con arreglos.i++) Limpiar (pantalla) PARA(j=0.

”ES”.cal. INICI O void ccal void igraf float cal string salir ccal() i<=5 igraf() DESEA SACAR MAS PROMEDIOS FIN “CAPTURA ALUMNO #”.j<=cal.”UNIDAD”.J+1. 81 .j i=0 SALIR cal SI SALIR=”s”orS ALIR=”S” NO FIN SI cal<=0 or cal>10 NO cal=cal+cal SI j<3 NO J++ cal=cal/3 “EL PROMEDIO DEL ALUMNO”. • Diagramas de flujo.PARA (j=0. j++) IMPRIMIR ("#") IMPRIMIR (salto de línea) FIN.i.i+1. i++ j=0 igraf() int i.

81 . float cal[5][4]. } while (salir =="s" || salir =="S").j i=0 SI i<=5 NO FIN j=0 i++ “#” NO j<c al J++ SI • Programa. void imprimegrafica(float calif[5][4]). void capturacalificaciones (float calif[5][4]). do { system ("CLS").igraf() int i. capturacalificaciones(cal). imprimegrafica(cal). #include <iostream> #include <cstdlib> #include <iomanip> using namespace std. cin >> salir. cout << "\n\tDESEA SACAR MAS PROMEDIOS S/N \n\t * ". int main() { string salir.

j++) do { cout<<"\tCaptura Alumno "<<i+1<<" UNIDAD "<<j+1<<": ".i++) { system ("CLS"). calif[i][3]=calif[i][3]+calif[i][j].5).j.j<3.j.i<5. cout <<"\n\tEl promedio del alumno " << i+1 << "= " << calif[i][3] << fixed << setprecision(2) << "\n\t". } } void imprimegrafica(float calif[5][4]) { system ("CLS"). for(j=0.j++) { cout<< "#". for(i=0. } void capturacalificaciones(float calif[5][4]) { int i. system ("CLS"). } calif[i][3]=calif[i][3]/3. } cout<<endl.j<=(calif[i][3]-.i++) { cout<<"\t " << i+1 <<"\t " << calif[i][3] << "\t\t". }while (calif[i][j]<=0 || calif[i][j]>10). } } 81 . for(j=0. cout<<"\n\tAlumno Calificacion Grafica\n" << endl. system ("PAUSE").return 0. for(i=0. int i. cin>>calif[i][j].i<5.

usando “for” para realizar una pequeña grafica donde muestra los promedios de los alumnos. podría decirse que es una forma muy simple de graficar cosas. ya que con los arreglos se puede guardar información en localidades de memoria. • Conclusiones. es muy útil para ahorrarse mucho código. en si esto es algo de lo que le fa poder a c. en este programa ya utilizamos arreglos. que son muy indispensable. Este programa nos demuestra lo dicho en el programa anterior.• Programa ejecutado. solo se necesita ingenio para poder plasmarlo. 81 . ya que podemos pedir varios datos y luego rescatarlos por medio de los arreglos.

"Cafe". "Amarillo". "Negro". "Gris".'1') b2 = capturabanda(0. "Dorado"} banda3b[9] = {1.'4') resistencia(b1.9. "Rojo". 1000000. "Plata". 81 . "Plata". "5". "Negro".2} HACER menub12() b1 = capturabanda(0. "8". "2". "5". "Blanco"} banda3a[9][2] = {"0". Diseñar un algoritmo y un programa que calcule la resistencia.b3. "7". "Cafe". basándose en el código de colores. pidiéndole los datos de la resistencia al usuario. b4. "4". 1000.b3. "Amarillo". Resistencia mediante el código de colores.9.b2. 0.b4) LEER (salir) MIENTRAS (salir == "s" || salir == "S") FIN. "2".05. 10. "Verde". "Verde". "6".'3') menub4() b4 = capturabanda(0.1. 10000. 100. "1".Practica # 22. "Naranja". "Rojo". 0. "Naranja". 0. INICIO: b1. "7". "3".b2. b2.b4) calcula(b1. ENTRADAS b1.2. "Azul".1. "4". Pseudocódigo (programa principal).8. "9". "Sin color"} banda4b[3] = {0. "6". b3.b4 SALIDAS resistencia toleranca PROCESOS resistencia=((b1*10)+b2)*b3 tolerancia = b4 • Algoritmo. "Violeta".b3. "8".01} banda4a[3][2] = {"0". "Dorado".b2. 100000. "1". "Azul". salir banda12[10][2] = {"0". "2". "3". 0.'2') menub3() b3 = capturabanda(0. "1". • Definición del problema.

i<=9.j++) HACER IMPRIMIR (banda12[i][j]) FIN. Pseudocódigo (menu12).j PARA (i=0.max) MIENTRAS (valor>max || valor<min) FIN. INICIO: i.j PARA (i=0. SI NO IMPRIMIR ("LAS BANDAS VAN DE".i++) HACER PARA (j=0. Pseudocódigo (menu4) INICIO: i.j<=1. Pseudocódigo (menu3) INICIO: i. INICIO: valor.Pseudocódigo (capturabanda).j<=1.i<=2. HACER LEER (valor) SI (valor>=min && valor<max+1) HACER return valor.j++) HACER IMPRIMIR (banda3a [i][j]) IMPRIMIR (banda3b[i]) FIN.j<=1.j++) HACER IMPRIMIR (banda4a [i][j]) IMPRIMIR (banda4b[i]) FIN." HASTA EL".j PARA (i=0.i<=8.i++) HACER PARA (j=0.min. 81 .i++) HACER PARA (j=0.

banda4a[b4][1]) FIN."-". rt) FIN. rt r = (((b1*10)+b2)*banda3b[b3])."-". Pseudocódigo (calcula) INICIO: r.Pseudocódigo (resistencia) INICIO: IMPRIMIR (banda12[b1][1]. r."." Ohms +.banda12[b2][1]. banda3a[b3][1]. IMPRIMIR ("La resistencia es de = "."-". rt = r *banda4b[b4]. 81 .

int b3. 10000. 1000. 10. 0. "Dorado"} double banda3b[9] = {1. "Cafe". "1". "Naranja". 0. "2".char banda) void calcula (int b1.1.int b4) string banda12[10][2] = {"0". "Rojo". "1". "4". "Amarillo". "Naranja".'3') menub4() b4 = capturabanda(0.• INICIO void menub12() void menub3() void menub4() int capturabanda(int min.8.2} D i a g r a m a s int b1. "Dorado". "7". "8". "6". "1". "7". "4". "3". "Verde". "9".b3.b2.int b2. "3". "2". "Gris". "Rojo".int b2.b3.b4) calcula(b1.01} string banda4a[3][2] = {"0". 1000000.2.b4 string salir menub12() b1 = capturabanda(0.b4) SALIR SI SALIR=”s”orSALIR=” S” NO FIN 81 . "6". 0. "Plata". "Blanco"} string banda3a[9][2] = {"0". "Azul".int b3.9. "Negro". "Sin color"} float banda4b[3] = {0. "Cafe". "Verde". "Violeta".b2. "5". "Azul". "2". 100000.9. "Amarillo".b3. "Plata".int max.'4') resistencia(b1.'1') b2 = capturabanda(0.'2') menub3() b3 = capturabanda(0. 0.b2.1.int b4) void resistencia(int b1. 100. "Negro". "5".05. "8".

de flujo. 81 .

capturabanda() Menu12() int valor int i. r. SI valor>max || valor<min) return valor j++ banda12[i][j] FIN resistencia( ) banda12[b1][1]"-" banda12[b2][1]"-" banda3a[b3][1]"-" banda4a[b4][1] FIN menu3() menu4() FIN int i. “Ohms +-”.rt j++ r =((b1*10)+b2)*banda3b[b3] rt = r *banda4b[b4] j++ j=0 j<=1 banda3a [i][j] banda3 [i][j] banda3b [i][j] Banda4b [i][j] “Resistencia de.j i=0 i<=9 SI j=0 i<=1 i++ valor “banda” (valor>=min && valor<max+1) NO “El valor es de”. min. “a”.j calcula() i++ double r.j i=0 i<=8 j=0 j<=1 i++ i=0 i<=2 int i.rt FIN FIN FIN 81 . máx.

string banda3a[9][2] = {"0". } int capturabanda(int min.1. "Verde".int b4). "Verde".9. do { menub12().1. b4 = capturabanda(0. "5". 10. "Violeta". void menub4(). #include <iostream> #include <cstdlib> #include <string> using namespace std.9. "1". "2". "8". "1". "Sin color"}.05. 1000.'3'). "Negro". "1". calcula(b1. void resistencia(int b1.int b4). int main() { int b1.2}. "Naranja". void menub12(). "Plata". "9". "7". double banda3b[9] = {1.int b2. "Plata". string salir.'2'). menub3(). void calcula (int b1. b2 = capturabanda(0. "4". float banda4b[3] = {0. void menub3(). "4". } while (salir == "s" || salir == "S"). b3 = capturabanda(0. 0.int b3.2. "Azul".char banda). cin >> salir.b2.01}.8. 100000. 0.'1'). "6". 1000000. b1 = capturabanda(0. "6".b2. "Cafe". "Naranja". "Rojo".int b3. string banda4a[3][2] = {"0".int max.• Programa. "Gris". "Azul". "Amarillo". "3". 81 . "Cafe".b3. menub4(). "Dorado".b3.b3. "3".int b2.b4). return 0. do { cout << "\n\tCaptura el balor de la banda " << banda << "= ". "Blanco"}. string banda12[10][2] = {"0". "5". resistencia(b1. char banda) { int valor.'4').int max. 0. "8".b4.b2. "Dorado"}. "Negro". 10000. int capturabanda(int min. "7". "2". 0. cout << "\n\tDESEA CALCULAR OTRA RESISTENCIA S/N\n\t * ".b4). "2". 100. "Rojo". "Amarillo".

j<=1.i<=8. cout << endl. system ("CLS"). cout << "\n\tBANDA 1 Y 2\t COLOR\n" << endl.j++) { cout << "\t " << banda12[i][j] << " " . } cout << banda3b[i]. \n\tCALCULO DE RESISTENCIA A PARTIR DEL CODIGO DE COLORES "<<endl. cout << "\n\t BANDA 3\t COLOR\tFactor de multiplicacion" << endl.i++) { for (j=0. cout << "\n\tPROGRAMA 22. 81 .i++) { for(j=0.cin >> valor. for (i=0. } else { cout << "POR FAVOR INSERTA UN NUMERO DEL " << min << " HASTA EL " << max << endl. } } void menub4() { int i. \n\tCALCULO DE RESISTENCIA A PARTIR DEL CODIGO DE COLORES "<<endl. } } while (valor>max || valor<min). } cout << endl.j++) { cout << "\t " << banda3a [i][j]<<" \t".j<=1. for(i=0.j. if (valor>=min && valor<max+1) { return valor. } } void menub3() { int i.j. } void menub12() { int i. system("CLS").i<=9.j. cout << "\n\tPROGRAMA 22.

} cout << banda4b[i].int b2. \n\tCALCULO DE RESISTENCIA A PARTIR DEL CODIGO DE COLORES "<<endl. cout << "\n\tPROGRAMA 22. cout << "\n\tPROGRAMA 22. cout << banda12[b1][1]<<"-". cout << banda4a[b4][1].i++) { for (j=0.i<=2. for(i=0. cout << banda3a[b3][1]<<"-". cout << banda12[b2][1]<<"-".int b3. cout << "\n\t BANDA 4\t COLOR\tFactor de multiplicacion" << endl. rt = r *banda4b[b4]. } void calcula (int b1. cout << "\n\tTU RESISTENCIA ES = \n\t *".system ("CLS").int b3. 81 .j++) { cout << "\t " << banda4a [i][j]<<" \t". } • Programa ejecutado.int b4) { system ("CLS").int b4) { double r. } } void resistencia(int b1.j<=1. r = (((b1*10)+b2)*banda3b[b3]).rt.int b2. cout << "\n\tLa resistencia es de = " << r << " Ohms" << " +. \n\tCALCULO DE RESISTENCIA A PARTIR DEL CODIGO DE COLORES "<<endl. cout << endl." << rt << endl. cout << endl.

este programa se baso en el código de colores el cual es muy simple. 81 .• Conclusiones Con este programa podemos observar la utilidad de los arreglos para desplegar menus ya que solo guardamos los datos en el arreglo. este programa también es practico. durante todo el curso pude aprender muchas cosas las cuales no sabia y en el transcurso del semestre las fui aprendiendo. con este programa se da por concluido el curso. por que hay quienes no saben medir las resitencias y con este programa basta con que se introduzca los números respecto a los colores. y luego con ayuda de los for se puede accesar a ellos.

81 .