Você está na página 1de 5

EJERCICIOS

Actividades secuenciales: 1. Determine los resultados del siguiente programa: #include <iostream.h> void main (void) { cout<<Respuesta 1 es el nmero de <<9/4<<endl; cout<<Respuesta 2 es el nmero de <<17/3 <<endl; cout<<El residuo de 9 dividido entre 4 es <<9%4<<endl; cout<<El residuo de 17 dividido entre 3 es <<endl; cin.get( ); } 2. Escriba un programa en C++ que muestre los resultados de las expresiones 3.0 * 5.0, 7.1*8.3-2.2 y 3.2/ (6.1 * 5). Calcule manualmente el valor de estas expresiones para verificar que los valores desplegados sean correctos. 3. Escriba, compile, ejecute y represente de manera grfica un programa en C++ que calcule la distancia entre dos puntos cuyas coordenadas son (7,12) y (3,9). La frmula para calcular la distancia entre los dos puntos, (x1, y1) y (x2, y2), es distancia = sqrt ([x1 x2]2 + [y1 - y2] 2). Luego de calcular la distancia manualmente para verificar que el programa funciona correctamente, utilcelo para calcular la distancia entre varios puntos definidos por las coordinadas dadas por el usuario.

Actividades if-else: 1. El cuadrante en el cual se ubica una lnea dibujada desde el origen est determinado por el ngulo que la lnea forma con el eje positivo de x en la siguiente forma: ngulo del eje positivo de x Entre 0 y 90 grados Entre 90 y 180 grados Entre 180 y 270 grados Entre 270 y 360 grados Cuadrante I II III IV

Utilizando esta informacin, escriba un programa en C++ que acepte el ngulo de la lnea como dato de entrada por el usuario y que despliegue el cuadrante apropiado de forma grfica conforme a los datos. (NOTA: si el ngulo es exactamente 0, 90, 180 o 270 grados, la lnea correspondiente no se ubica en ningn cuadrante sino en un eje). 2. Elaborar el diagrama de flujo y programa en C++, que indique si un nmero es positivo o negativo.

3. Elaborar el diagrama de flujo y programa en C++, que indique si un nmero es


par o impar.

4. Elaborar el diagrama de flujo y programa en C++, que pida al alumno su


calificacin y el programa le diga si esta aprobado o reprobado. 5. Elaborar el diagrama de flujo y programa en C++, que dada una calificacin el programa le indique si su calificacin es excelente, muy bien, buena, regular o mala. 6. Elaborar el diagrama de flujo y programa en C++, que encuentre el mayor de 2 nmeros. 7. Elaborar el diagrama de flujo y programa en C++, que indique el mayor de 2 nmeros o indique si son iguales. 8. Elaborar el diagrama de flujo y programa en C++, que indique el mayor de 3 nmeros o indique si son iguales. 9. Elaborar el diagrama de flujo y programa en C++, que dada la edad en aos el programa le diga si esta en la etapa de niez, adolescencia, madurez o senectud. 10. Programa que convierte de metros a kilmetros o kilmetros a metros, dependiendo de la peticin del usuario.

Actividades de ciclos: 1. Escriba el programa para imprimir los nmeros del 2 al 10 en incrementos de dos en dos. La salida del programa debe ser: 2 4 6 8 10. 2. Escriba un programa que pida 5 calificaciones, las sume y muestre el promedio. 3. Escriba un programa que realice multiplicaciones por medio de sumas sucesivas. 4. Escriba un programa que eleve un nmero x a la potencia n. 5. Escriba un programa que convierta de decimal a binario. Por ejemplo: si convertimos el nmero decimal 8 a binario el resultado correcto seria 1000, pero como las herramientas de programacin hasta este momento son pocas, la salida del programa ser 0001, es decir el resultado en binario se muestra al inverso del resultado correcto. 6 Escriba el programa para producir una tabla que empiece con un valor de Celsius en -10 y termine con un valor de Celsius de 60, en incrementos de diez grados.

7 Escriba un programa en C++ que convierta galones a litros. El programa debe mostrar los galones desde 10 hasta 20 en incrementos de un galn y los equivalentes correspondientes en litros. Un galn equivale a 3.785 litros. 8 Escriba un programa en C++ que convierta pies a metros. El programa debe mostrar los pies desde 3 hasta 30 en incrementos de tres pies y los equivalentes correspondientes en metros. Un metro tiene 3.28 pies. 9. Escriba un programa en C++ para convertir grados Celsius a Fahrenheit. El programa debe solicitar el valor inicial en grados Celsius, la cantidad de conversiones

que se efectuarn y el incremento entre los valores en grados Celsius. La pantalla debe tener los encabezados apropiados y una lista con los valores en grados Celsius y los correspondientes en grados Fahrenheit. Utilice la siguiente relacin: Fahrenheit= (9/5) . Celsius + 32 10. Una serie aritmtica est determinada por la siguiente frmula: a + (a+d) + ( a+ 2d) + ( a+ 3d) + ( a+ 4d)+ + [(a+ (n-1)d)] donde a es el primer trmino, d es la diferencia comn y n es el nmero de trminos de la serie. Utilizando esta informacin escriba un programa en C++ que utilice un ciclo para desplegar cada elemento y que calcule la suma de la serie geomtrica donde a, d y n son valores introducidos por el usuario desde el teclado. Asegrese de que el programa despliegue el valor que calcul. 11. Una serie geomtrica est determinada por la frmula: a+ ar + ar2+ ar3+ +arn-1 donde a es el primer trmino, r es la proporcin comn y n es el nmero de trminos de la serie. Utilizando esta informacin escriba un programa en C++ que utilice un ciclo para desplegar cada elemento y que calcule la suma de la serie geomtrica donde a, r y s son valores introducidos por el usuario desde el teclado. 12. Escriba instrucciones individuales for para los siguientes casos: a) Utilice un contaje llamado i que tenga un valor inicial de 1, un valor final de 20 y un incremento de 1. b) Utilice un contador de nombre icuenta que tenga un valor inicial de 1, un valor final de 23 y un incremento de 2. c) Utilice un contador de nombre j que tenga un valor inicial de 1, un valor final de 100 y un incremento de 5. d) Utilice un contador de nombre icuenta que tenga un valor inicial de 20, un valor final de 1 y un incremento de -1. e) Utilice un contador de nombre cuenta que tenga un valor inicial d 1.0, valor final de 16.2 e incremento de 0.2 f) Utilice un contador de nombre xcuenta que tenga un valor inicial de 20.0, valor final de 10.0 e incremento de -0.5. Determine el nmero de veces que se ejecuta cada ciclo en las instrucciones for del ejercicio uno. 13. Determine el valor total despus de ejecutar cada una de los siguientes ciclos. a) b) total = 0; total = 1; for (i =1; i<=10; i++) total = total + 1; for( cuenta=1; cuenta <= 10; cuenta++) total= total * 2; 14. Elabore el programa que produzca una tabla de nmeros del cero hasta el 20 en incrementos de 2, con sus valores al cuadrado y al cubo. 15. La secuencia de Fibonacci es 1, 1, 2, 3, 5, 8, 13, donde los primeros dos elementos son el 1 y 1 y cada elemento posterior es la suma de los dos elementos anteriores. Utilizando esta informacin escriba un programa en C++ que calcule el nmero ensimo en una secuencia de Fibonacci, donde el usuario introduzca n al programa, interactivamente.

16. Escriba un programa que calcule y despliegue por separado el promedio de los nmeros positivos y negativos introducidos por el usuario, la cantidad de valores debe ser controlado por un dilogo semejante al siguiente: Otro nmero (s/n)?. Tenga cuidado de no incluir el nmero cero como un nmero negativo. 17. Escriba un programa en C++ que seleccione y despliegue los primeros 20 nmeros enteros exactamente divisibles entre 3. 18. Disee el programa en C++ que produzca una tabla de valores de y para lo siguiente: y= 3x5 2x3 + x para x entre 5 y 10 e incremento de 0.2. 19. Las coordenadas x y y, como funcin del tiempo, t, de un proyectil disparado a una velocidad inicial a un ngulo con respecto a la tierra estn dados por: x= t coseno () y= t seno () Utilizando estas frmulas escriba un programa en C++ que despliegue una tabla de valores de x y y para un proyectil disparado a una velocidad inicial de v pies/seg a un ngulo de grados (recuerde convertir la medida a radianes). La tabla debe contener valores que correspondan a un intervalo de cero a t segundos en incrementos de segundo. 20. Utilizando una instruccin do while, escriba un programa para aceptar una calificacin. El programa debe solicitar una calificacin continuamente mientras no se introduzcan calificaciones invlidas. Una calificacin invlida es cualquiera menor de 0 mayor de 100. Despus de que se introduzca una calificacin invlida desplegar el promedio de calificaciones vlidas. 21. Escriba un programa que invierta los dgitos de un nmero positivo entero. Por ejemplo, si se introduce el nmero 8735, debe mostrar el nmero 5378. 22. La funcin exponencial ex, donde e es el nmero de Euler y tiene un valor de 2.718281828459045 , aparece muchas veces en la descripcin de fenmenos naturales. Por ejemplo, en la descomposicin radiactiva, el crecimiento de poblaciones y la curva normal (en forma de campana) utilizada en aplicaciones estadsticas, se pueden aplicar utilizando esta funcin. El valor aproximado de ex se puede obtener utilizando el siguiente desarrollo en serie: 1+ x + x2 + x3 + x4 + x5 + x6 1 2 6 24 120 720 La frmula de donde esto se deriva es: ex= x0 + x1 + x2 + x3 + x4 + x5 + x6 0! 1! 2! 3! 4! 5! 6! Utilizando como base este polinomio, escriba un programa que calcule el valor aproximado de e elevando a un valor x, insumo del usuario. En cada aproximacin, muestre el valor calculado por la funcin que usted realizar. Asegrese de verificar el programa mediante un clculo manual.

Actividades de subprogramas:

1. Escriba una funcin dominada revisar() que tenga tres parmetros. El primer parmetro debe aceptar un nmero entero, el segundo parmetro un nmero en punto flotante, y el tercer parmetro un nmero en doble precisin. El contenido de la funcin slo debe mostrar los valores de los datos transmitidos a la funcin cuando sea llamada. Escriba el programa completo en C++ que incorpore el uso de esta funcin. 2. Escriba una funcin denominada encontrar_abs() que acepte la transmisin de un valor en doble precisin, calcule el valor absoluto y lo despliegue. El valor absoluto de un nmero es el mismo nmero si es positivo y el negativo del nmero si ste es negativo. 3. Escriba una funcin en C++ denominada mult () que acepte como parmetros dos nmeros en punto flotante, multiplique estos dos nmeros y despliegue el resultado. 4. Escriba una funcin denominada cuadrado() que calcule el cuadrado del valor que le transmita y despliegue el resultado. Esta funcin debe ser capaz de elevar al cuadrado nmeros con punto decimal. 5. Escriba una funcin denominada funpot() que eleve un nmero entero a una potencia positiva de nmero entero y despliegue el resultado. El nmero entero positivo debe ser el segundo valor que se transmita a la funcin. El primer valor ser la potencia a la que se desea. 6. Escriba un programa en C++ que devuelva la fraccin de cualquier nmero introducido por el usuario. Por ejemplo, si se introduce el nmero 256.879, debe mostrar el nmero 0.879. 7. Escriba un programa en C++ que acepte un argumento en nmero entero y determine si el nmero transmitido es par, impar o nulo. 8. Escriba una funcin que produzca una tabla de nmeros del 1 al 10, su valor al cuadrado y al cubo. 9. Modifique la funcin escrita en el ejercicio 8 de tal manera que acepte el valor inicial de la tabla, el nmero de valores que debe desplegar, y el incremento entre los valores. Denomine a la funcin sel_tab(). 10. Escriba una funcin denominada TrianguloRectangulo() que acepte la longitud de dos lados de un tringulo rectngulo con los argumentos a y b, respectivamente. La subrutina debe determinar y devolver la hipotenusa, c, del tringulo. 11. Un polinomio de segundo grado en x est dado por la expresin ax 2 + bx + c, donde a, b y c son nmeros conocidos y a no es igual a cero. 12. Todos los aos que son exactamente divisible entre 400 o que pueden dividirse entre cuatro pero no entre cien, son aos bisiestos. Por ejemplo, como 1600 se puede dividir exactamente entre 400 el ao 1600 fue bisiesto. De la misma forma, como 1988 es exactamente divisible entre cuatro pero no entre 100, el ao de 1988 tambin fue bisiesto. Utilizando esta informacin, escriba una funcin en C++ que acepte el ao como un dato de insumo y que devuelva 1 si el ao es bisiesto 0 si no lo es.