Está en la página 1de 9

Algoritmo y Estructura de Datos

Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

Trabajo prctico N 1 ( Entrada, Proceso y Salida. Estruct. de control ) 1- Elegir tipos de datos convenientes para representar los siguientes datos e indicar los rangos de valores esperados para cada uno. Teniendo en cuenta el siguiente cuadro. TIPO VALOR VALOR MINIMO MAXIMO signed char unsigned char signed short unsigned short signed int unsigned int signed long unsigned long Float Double Long double -128 0 -32.768 0 -32.768 0 -2.147.483.648 0 3,4E-38 1,7E-308 3,4E-4932 127 255 +32.767 +65.535 +32.767 +65.535 +2.147.483.647 +4.294.967.295 3,4E+38 1,7E+308 3,4E+4932

a. b. c. d. e. f.

La edad de una persona El saldo de una cuenta bancaria El nmero de un documento de identidad La cantidad de das transcurridos desde el principio de la era cristiana. La respuesta al mensaje de Error Cancelar, Reiterar, Ignorar? La cantidad de segundos en un perodo mximo de doce horas.

2- Compilar, ejecutar e interpretar los resultados: A. #include <stdio.h> #include <conio.h> void main() { int a,b; char c; clrscr(); a=100; b=200; c=a+b; printf(c=%d, a*b=%d\n,c,a*b); getch(); } C. #include <stdio.h>

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

#include <conio.h> void main() { int a=1,b=2,c=3,r; clrscr(); r=a+b; printf("%d + %d = %d\n",a,b,r); r=c-a; printf("%d - %d = %d\n",c,a,r); b++; printf("b + 1 = %d",b); getche(); } 3- En la industria XX se desea calcular el precio unitario de venta, de tres artculos. Se ingresa por teclado el valor de compra correspondiente a cada uno P1, P2, P3. Suponemos que el vendedor desea ganar el 30% del valor de compra. Mostrar el precio de venta de cada uno. 4- Calcular e imprimir la longitud de la hipotenusa de un tringulo rectngulo. Se debe ingresar la longitud de sus catetos. 5- Calcular y mostrar el cuadrado y su cubo de cada uno de tres nmeros que se ingresan en N1, N2, y N3 respectivamente por teclado. 6- Calcular y mostrar el valor de la funcin Y = A (x * x) + B x + C para dos valores de x que se deben ingresar por teclado si los respectivos valores de las constantes son respectivamente 1, -2, 3. 7- Escribir un programa para calcular el importe de una venta en un supermercado. El usuario debe indicar el nombre del producto, el precio por unidad y el n de unidades y el programa sacar por pantalla el nombre del producto, el n de unidades vendidas y el precio total. Preste especial atencin a qu tipo de datos resulta ms adecuado para cada cantidad. 8 - Suponiendo que se tienen como datos las variables a, b, z y n de tipo entero y que en un programa se escribe: if (n > 0) if (a > b) z = a; else z = b; Decir si la sentencia "if" anterior es equivalente a: if (n > 0) {if (a > b) z = a; else z = b}; if (n > 0) {if (a > b) z = a; } else z = b; 9 - Se ingresan por teclado las notas de dos alumnos que realizaron el parcial de la asignatura Anlisis matemtico I. Mostrar la mayor nota.

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

10- Ingresar tres nmeros enteros N1, N2, N3 y mostrar el resultado del clculo, teniendo en cuenta las siguientes indicaciones: Si N1 = N2 mostrar N1 + N2 + N3 Si N1 < N2 mostrar N1 * N2 Si N1 > N2 mostrar (N1 / N2) * N3 11- Se ingresan por teclado los coeficientes de una ecuacin de segundo grado. Mostrar si las races son reales y distintas, iguales o complejas. Si son reales, calcularlas. 12- Calcular y mostrar el sueldo bsico y el sueldo neto de un empleado, si se ingresa el nmero de horas trabajadas (H), el valor por hora para ese empleado (V), y la antigedad para el mismo (A). El sueldo bsico surge de: SB = H * V. Si el sueldo bsico excede los 500 pesos y la antigedad no es mayor a 10 aos, el neto surgir de deducir 30 pesos del bsico en concepto de impuestos. Si el bsico es menor o igual a 500 pesos, pero la antigedad es de 10 aos o ms, el neto ser igual al bsico ms el 30%. En toda otra situacin el neto ser igual al bsico. 13 - El programa ir preguntando por la cantidad de billetes y monedas de cada valor que tiene el usuario y luego determinar la suma de dinero que hay en monedas y luego la suma de dinero que hay en billetes. Luego el programa dir la suma total de dinero que hay. Finalmente el programa dar al usuario la posibilidad de transformar la cantidad en el equivalente en dolares o euros, segn lo decida el usuario. 14- Se ingresan tres nmeros que representan las temperaturas mximas de tres das del mes de enero. Mostrar la mayor temperatura. 15- Disee un programa que convierta una medida dada en pies a sus equivalentes en: a) Yardas b) Pulgadas c) Centmetros d) Metros Sabiendo que 1 pie = 12 pulgadas, 1 yarda = 3pies, 1 pulgada = 2,54 cm, 1 m = 100 cm. 16- En una competencia de 2 pruebas, se registraron los tiempos parciales en pedestrismo y ciclismo de los tres primeros atletas que terminaron la competencia. En pedestrismo se hicieron 17 km.. El ganador absoluto de la competencia es el que acumula mejor tiempo total en la suma de los tiempos de las dos pruebas. Ingresar los resultados de las pruebas por competidor y determinar: El ganador de ciclismo y el ganador absoluto. El promedio de tiempo por km. En pedestrismo del ganador absoluto y la diferencia existente con los respectivos promedios de los otros dos competidores.

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

Nota: los tiempos estn dados en minutos. Suponer que los promedios son distintos. 17- Una lnea de belleza posee un rgimen de ventas a domicilio y sus artculos estn clasificados de acuerdo al tipo de cliente en Damas, Caballeros y Nios, correspondiendo un cdigo a cada uno: D, C, N respectivamente. Al finalizar el mes se requieren ciertas estadsticas. INGRESAR como dato el cdigo de c/producto y la ganancia que ste report en el mes. Obtener: -El porcentaje que representa la ganancia producida por cada producto sobre la ganancia total. -El cdigo de artculo que mayor ganancia report. -El cdigo de artculo que menor ganancia report, pero slo mostrar esta informacin si el porcentaje es superior al 20%. 18- Realice un programa que determine si un ao es bisiesto. Tomando como referencia que un ao bisiesto es divisible entre 4 pero no entre 100, excepto aquellos aos que son divisibles por 400, que si son bisiestos. 19- Dado el siguiente programa, realiza un seguimiento de la ejecucin con los siguientes supuestos: (a) a=0, b=0, c=5, d=3 (b) a=2, b=1, c=5, d=3 (c) a=2, b=1, c=2, d=2 (d) a=2, b=1, c=0, d=0 void main ( ) { int a,b,c,d; scanf (%d %d %d %d, &a,&b,&c,&d); if (((a>0) | | (b>a)) && ( c!= d)) { a = c; b = 0; } else { c+=d; if (c= = 0) c= c+b; else c= c-a; b= a + c+ d; } printf (Los valores finales son a=%d, b= %d, c= %d, d= %d, a,b,c,d ); getch(); return; } 20- El gobierno del estado de Mxico desea reforestar un bosque que mide determinado numero de hectreas. Si la superficie del terreno excede a 1 milln de metros cuadrados, entonces decidir sembrar de la sig. manera: Porcentaje de la superficie del bosque Tipo de rbol 70% pino

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

20% 10%

oyamel cedro

Si la superficie del terreno es menor o igual a un milln de metros cuadrados, entonces decidir sembrar de la sig. manera: Porcentaje de la superficie del bosque Tipo de rbol 50% pino 30% oyamel 20% cedro El gobierno desea saber el numero de pinos, oyameles y cedros que tendr que sembrar en el bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15 metros cuadrados caben 15 oyameles y en 18 metros cuadrados caben 10 cedros. Tambin se sabe que una hectrea equivale a 10 mil metros cuadrados. Ejercicios Propuestos 1- Calcular e imprimir el sueldo bsico y el sueldo neto de un empleado. Se ingresa la cantidad de horas trabajadas (H), el valor por hora para ese empleado (V) y la antigedad del mismo (A). SB = H * V SN es el SB ms el 1,5% del sueldo bsico por cada ao de antigedad. 2- En la industria XX se desea calcular y mostrar el 15% de cada uno de tres sueldos jerrquicos, que se ingresan por teclado en S1, S2, S3 respectivamente. Mostrar el porcentaje correspondiente a cada sueldo. 3- Ingresar dos nmeros los cuales constituyen las coordenadas de un punto del plano. Informar a qu cuadrante pertenece el punto y si est en el primer cuadrante hallar la distancia al origen de coordenadas. 4- Una temperatura Celsius (centgrados) C puede ser convertida a una temperatura F de acuerdo a la siguiente frmula: F=(9/5)* C + 32 Escribir un programa que lea una temperatura Celsius C como nmero decimal y obtenga la temperatura Fahrenheit equivalente. 5- Un sistema de ecuancuines lineales ax + by =c dx + ey = f se puede resolver con las siguientes frmulas: x = c*e b*f y= a*f c*d a*e - b*d a*e b* d Disear un programa que lea dos conjuntos de coeficientes (a, b, c; d, e y f) y visualice los valores de x e y.

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

6- En un hospital existen tres reas: Ginecologa, Pediatra, Traumatologia. El presupuesto anual del hospital se reparte conforme a la sig. tabla: rea Porcentaje del presupuesto Ginecologa 40% Traumatologia 30% Pediatra 30% Obtener la cantidad de dinero que recibir cada rea, para cualquier monto presupuestal. 7- Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera: Si trabaja 40 horas o menos se le paga $16 por hora Si trabaja mas de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra. 8- Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y su precio con descuento. El descuento lo hace en base a la clave, si la clave es 01 el descuento es del 10% y si la clave es 02 el descuento en del 20% (solo existen dos claves). 9- Calcular el numero de pulsaciones que debe tener una persona por cada 10 segundos de ejercicio aerobico; la formula que se aplica cuando el sexo es femenino es: num. pulsaciones = (220 - edad)/10 y si el sexo es masculino: num. pulsaciones = (210 - edad)/10 10- Una compaa de seguros esta abriendo un depto. de finanzas y estableci un programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se efecta la fianza es menor que $50 000 la cuota a pagar ser por el 3% del monto, y si el monto es mayor que $50 000 la cuota a pagar ser el 2% del monto. La afianzadora desea determinar cual ser la cuota que debe pagar un cliente. 11- Una empresa de bienes races ofrece casas de inters social, bajo las siguientes condiciones: Si los ingresos del comprador son menores de $8000 o mas el enganche ser del 15% del costo de la casa y el resto se distribuir en pagos mensuales, a pagar en diez aos. Si los ingresos del comprador son menos de $8000 o mas el enganche ser del 30% del costo de la casa y el resto se distribuir en pagos mensuales a pagar en 7 aos. La empresa quiere obtener cuanto debe pagar un comprador por concepto de enganche y cuanto por cada pago parcial. 12- Determinar la cantidad de dinero que recibir un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple. 13- Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le asigna como un porcentaje de su salario mensual que depende de su antigedad en la empresa de acuerdo con la sig. tabla:

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

Tiempo Menos de 1 ao 1 ao o mas y menos de 2 aos 2 aos o mas y menos de 5 aos 5 aos o mas y menos de 10 aos 10 aos o mas

Utilidad 5 % del salario 7% del salario 10% del salario 15% del salario 20% del salario

14- El dueo de una empresa desea planificar las decisiones financieras que tomara en el siguiente ao. La manera de planificarlas depende de lo siguiente: Si actualmente su capital se encuentra con saldo negativo, pedir un prstamo bancario para que su nuevo saldo sea de $10 000. Si su capital tiene actualmente un saldo positivo pedir un prstamo bancario para tener un nuevo saldo de $20 000, pero si su capital tiene actualmente un saldo superior a los $20 000 no pedir ningn prstamo. Posteriormente repartir su presupuesto de la siguiente manera. $5 000 para equipo de computo $2 000 para mobiliario y el resto la mitad ser para la compra de insumos y la otra para otorgar incentivos al personal. Desplegar que cantidades se destinaran para la compra de insumos e incentivos al personal y, en caso de que fuera necesario, a cuanto ascendera la cantidad que se pedira al banco. 15- Una institucin educativa estableci un programa para estimular a los alumnos con buen rendimiento acadmico y que consiste en lo siguiente: Si el promedio es de 9.5 o mas y el alumno es de preparatoria, entonces este podr cursar 55 unidades y se le har un 25% de descuento. Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es de preparatoria, entonces este podr cursar 50 unidades y se le har un 10% de descuento. Si el promedio es mayor que 7 y menor que 9 y el alumno es de preparatoria, este podr cursar 50 unidades y no tendr ningn descuento. Si el promedio es de 7 o menor, el numero de materias reprobadas es de 0 a 3 y el alumno es de preparatoria, entonces podr cursar 45 unidades y no tendr descuento. Si el promedio es de 7 o menor, el numero de materias reprobadas es de 4 o mas y el alumno es de preparatoria, entonces podr cursar 40 unidades y no tendr ningn descuento. Si el promedio es mayor o igual a 9.5 y el alumno es de profesional, entonces podr cursar 55 unidades y se le har un 20% de descuento. Si el promedio es menor de 9.5 y el alumno es de profesional, entonces podr cursar 55 unidades y no tendr descuento. Obtener el total que tendr que pagar un alumno si la colegiatura para alumnos de profesional es de $300 por cada cinco unidades y para alumnos de preparatoria es de $180 por cada cinco unidades. 16- Escribir un programa que, pida la fecha de nacimiento de una persona e imprima por pantalla su signo zodiacal. 17- Modifique el siguiente cdigo para producir la salida que aparece a continuacin. No debe hacer cambio alguno que no sea el de insertar llaves.

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

if (y==8) if (x==5) printf (@@@@@\n); else printf(#####\n); printf($$$$$\n); printf(&&&&&\n); a) Si suponemos que x=5 y y=8, se produce la siguiente salida. @@@@@

$$$$$ &&&&&
b) Si suponemos que x=5 y y=8, se produce la siguiente salida. @@@@@ c) Si suponemos que x=5 y y=8, se produce la siguiente salida. @@@@@

&&&&&
d) Si suponemos que x=5 y y=7, se produce la siguiente salida.

##### $$$$$ &&&&&

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

Ejercicios de Auto evaluacin 1- Complete los espacios en blanco. a) Todo programa en C comienza su ejecucin en la funcin _____________ b) La _______________ comienza el cuerpo de toda funcin, y la _______________ finaliza el cuerpo de toda funcin. c) Toda instruccin finaliza con un ____________ . d) La funcin _____________ de la biblioteca estndar despliega informacin en la pantalla. e) La secuencia de escape \n representa una ___________, la cual ocasiona que l cursor se coloque al principio de la siguiente lnea de la pantalla. f) La funcin ___________ de la biblioteca estndar se utiliza para obtener datos desde teclado. g) El especificador de conversin __________ se utiliza en una cadena de control de formato para indicar que se introducir o mostrar un entero. h) La instruccin ________ se utiliza para tomar decisiones. 3- Indique Verdadero o Falso a) Los operadores en C se evalan de izquierda a derecha. b) Cuando se llama a una funcin printf, sta siempre comienza la impresin al principio de una nueva lnea. c) Los siguientes son nombres de variables vlidos: _guion_bajo, m9831, sus_ventas, a, b, z, z2. d) La instruccin printf(a=5;); es un tpico ejemplo de una instruccin de asignacin. e) Una expresin aritmtica vlida que no contiene parntesis se evala de izquierda a derecha. f) C considera idnticas a las variables numero y NuMero. g) Las declaraciones pueden aparecer en cualquier parte del cuerpo de una funcin. h) Todos los argumentos que se encuentren despus de la cadena de control de formato en una funcin printf deben ser precedidos por un ampersan (&). i) El operador mdulo (%) puede utilizarse slo con operadores enteros. j) Un programa que imprime tres lneas como resultado debe contener tres instrucciones printf. k) A todas las variables se les asigna un tipo cuando se declaran. 4- Indique y corrija los errores de las siguientes instrucciones. (Nota: puede haber ms de un error cada ejercicio.) a) printf (el valor es %d\n, &numero); b) scanf (%d%d, &numero1, numero2); c) if (c < 7); printf (C es menor que 7\n); d) if (c=> 7); printf (C es mayor o igual que 7\n); e) printf( la suma es %d\n, x+y); f) printf(el valor que escribi es: %d\n, & valor);