You are on page 1of 6

Preparacin Laboratorio 1 o INC112 - Programacin I o

Lunes 14 y Martes 15 de Noviembre 2011 Prof. Eliana Providel G. - Roberto Muoz S. n Ayudantes: Jos Arenas - Carlos Varas e

Instrucciones: Trabaje utilizando Linux y gcc para compilar o DevC++ en Windows

1. Disea un programa C que solicite la longitud del lado de un cuadrado y muestre n por pantalla su per metro y su rea. a 2. Disea un programa que lea cinco nmeros enteros por teclado y determine cul de n u a los cuatro ultimos nmeros es ms cercano al primero. (Por ejemplo, si el usuario u a introduce los nmeros 2, 6, 4, 1 y 10, el programa responder que el nmero ms u a u a cercano al 2 es el 1). 3. Haz un programa que pida un nmero entero de teclado distinto de 1. A u continuacin, el programa generar una secuencia de nmeros enteros cuyo primer o a u nmero es el que hemos le y que sigue estas reglas: u do Si el ultimo nmero es par, el siguiente resulta de dividir a ste por la mitad; u e si el ultimo nmero es impar, el siguiente resulta de multiplicarlo por 3 y u aadirle 1. n Todos los nmeros se irn mostrando por pantalla conforme se vayan generando. El u a proceso se repetir hasta que el nmero generado sea igual a 1. Utiliza un bucle a u do-while. 4. Haz un programa que solicite un nmero entero y muestre su factorial. Utiliza un u entero de tipo long long para el resultado. Debes usar un bucle for. 5. Hacer un programa que lea caracteres desde teclado y vaya contando las vocales que aparecen. El programa terminar cuando lea el carcter # y entonces mostrar un a a a mensaje indicando cuntas vocales ha le (cuntas de cada una de ellas). a do a 6. Desarrolle un programa que ordene ascendentemente tres nmeros. u

7. Lisa necesita conocer los costos de matr cula para sus estudios universitarios. Se le han presentaodos opciones y ella queire elegir la ms barata. a Opcin Uno o Cuatro aos de estudios, no incluyendo los veranos. n Trabajar tres veranos. Opcin Dos o Tres aos completos de estudios (todo el ao). n n No trabajar los veranos. La matr cula comienza en $ 120.000 anuales y se incrementa en un 16 % por ao. La n matr cula de verano es de $ 40.000 y tambin se incrementa en un 16 % al ao. e n Alguien que trabaje durante el verano puede esperar ahorrar $ 100.000 al nal del verano. Los ahorros por verano se incrementan en un 7 % al ao. Desarrolle un n programa en C que: Calcule y muestre el costo de cada opcin. o Muestre el mensaje sugiriendo la opcin ms econmica. o a o 8. Dado el peso, la altura y el sexo, de unos estudiantes. Desarrolle un programa en C que determinar la cantidad de vitaminas que deben consumir estos estudiantes, en base al siguiente criterio: Si son varones, y su estatura es mayor a 1.60, y su peso es mayor o igual a 150 lb, su dosis, sern: 20 % de la estatura y 80 % de su peso. De lo contrario, la a dosis ser la siguiente: 30 % de la estatura y 70 % de su peso. a Si son mujeres, y su estatura es mayor de a 1.50 m y su peso es mayor o igual a 130 lb, su dosis ser: 25 % de la estatura y 75 % de su peso. De lo contrario, la a dosis ser: 35 % de la estatura y 65 % de su peso. La dosis debe ser expresada a en gramos. 9. En un estacionamiento, se cobra de la siguiente manera: los primeros 10 minutos son gratis, los siguientes 30 minutos tiene un valor de $300 y la hora $600. Disee n un programa que reciba tanto minutos como horas y muestre lo que debe cancelar el cliente. Tomando en cuenta que si es Martes y Sbado se hace un descuento del a 12.56 % sobre el monto total.

10. Disee una pequea calculadora que, al digitar un cdigo realice una operacin n n o o espec ca: si el cdigo es 1, la operacin es la suma, si es 2, Resta. 3, multiplicacin y o o o 4 divisin. Si el usuario a escrito otro cdigo invlido, mostrar un mensaje de error. o o a 11. Utilizando switch y sentencias repetitivas, escriba un algoritmo que pida caracteres e imprima VOCAL si son vocales y CONSONANTE si no. 12. Disea un programa que muestre un men: n u a) Escribir A b) Escribir B c) Escribir C d ) Salir Lea una opcin (1, 2, 3 y 4) y la ejecute (escribiendo A, B oC) o termine si la o opcin es 4. o 13. Ests pensando invertir tus ahorros en un plazo jo y, para comparar las diferentes a ofertas de varios bancos, vas a construir un programa que lea el capital a invertir, el inters anual y el nmero de aos que dura la inversin, y calcule e imprima todo el e u n o dinero obtenido durante cada uno de los aos. El programa debe mostrar, por tanto, n una salida del tipo: Capital en el ao 1 = 240. n Capital en el ao 2 = 288. n Capital en el ao 3 = 345,6. n 14. Siguiendo con el tema del ejercicio anterior, crea un algoritmo para calcular cuntos a aos han de pasar hasta llegar a doblar, como m n nimo, el capital inicial invertido. Los datos que han de leerse desde teclado son el capital inicial y el inters anual. e 15. Realizar un algoritmo que pida un nmero positivo y diga si es primo. u 16. Un comerciante se dedica a la venta de sillas unicamente. Vende tres tipos de sillas: tipo A, tipo B y Tipo C los precios son $5.00, $7.00 y $10.00 respectivamente. Por cada cinco sillas compradas del tipo A, del tipo B o del tipo C los clientes reciben un descuento de 3 %, 5 % y 7 %, las dems se cobran a precio normal. Disee un a n programa que imprima en forma de factura, con el nombre, precio unitario, precio total, nombre de la tienda, etc lo que debe cancelar cada cliente en concepto de la compra.

17. Cul es el valor de la variable c al nalizar este algoritmo?: a ... int c = 0; { for(int x=0; x < 100; x++) c+=x; break; c += 100; } c /= 100;

18. Se tiene el siguiente bloque de cdigo: o int x = 0; while (true){ //sentencias de cdigo o x += 1; }

Utilizando sentencias break y continue, agregue el cdigo necesario para que o muestre los nmeros pares entre el 0 y el 10. . u 19. Realiza un programa que, a travs de l e nea de comando, reciba un nmero entero y u diga cuntos bits activos tiene. (Un bit est activo o encendido si su valor equivale a a a 1).

20. Indique qu funcin realiza el siguiente algoritmo: e o #include <stdio.h> int main(){ int a, b, m, cont, nbits; unsigned mascara; nbits = 8 * sizeof(int); m = 0x1 << (nbits - 1); do{ printf("\n\nIntroducir un valor entero (0 para parar): "); scanf("%d", &a); mascara = m; for(cont = 1; cont <= nbits; cont++){ b = (a & mascara) ? 1 : 0; printf("%x", b); if(cont % 4 == 0) printf(" "); mascara >>= 1; } }while(a != 0); } Cul es el propsito de la variable mascara? a o

21. El codigo Gray es un sistema de numeracin binario en el que dos valores sucesivos o dieren slamente en uno de sus d o gitos, como por ejemplo: Cdigo Gray de 3 bits: o Decimal 0 1 2 3 4 5 6 7 Binario 000 001 010 011 100 101 110 111 Gray 000 001 011 010 110 111 101 100

Para convertir un nmero binario (en Base 2) a cdigo Gray, simplemente hemos de u o aplicarle la puerta lgica XOR al mismo nmero, con 1 desplazamiento a la derecha. o u Ejemplo: 1010 (Base 2) a gray: 1010 1010 ------1111 Escriba un programa en C que lea un nmero y escriba el cdigo Gray desde el 0 u o hasta el nmero ingresado. u

You might also like