Sie sind auf Seite 1von 18

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Facultad de Ingeniera de Sistemas e Informtica

E.A.P INGENIERA DE SOFTWARE

PROGRAMACIN I
PRACTICA 1: Programas Secuenciales

1.

La fuerza de atraccin entre dos masas, m1 y m2 separadas por una distancia d, est dada por la frmula :

F=

G * m1 * m2 d2

Donde G es la constante de gravitacin universal, G=6.673x10-8 cm3/g.seg2. Elaborar un programa que lea la masa de dos cuerpos y la distancia entre ellos y, a continuacin, obtenga la fuerza gravitacional entre ella. La salida debe ser en dinas; una dina es igual a gr.cm/seg2.

2.

La famosa ecuacin de Einstein para conversin de una masa m en energa viene dada por la frmula: E=mc2, donde c es la velocidad de la luz y su valor es: c=2.99792458x10 10 cm/sg. Elaborar un programa que lea una masa en gramos y obtenga la cantidad de energa producida cuando la masa se convierte en energa. Nota: Si la masa se da en gramos, la frmula produce la energa en ergios.

3.

Elaborar un programa para convertir una medida dada en pies a sus equivalentes en: a) yardas; b) pulgadas; c) centmetros, y d) metros; donde (1 pie = 12 pulgadas, 1 yarda = 3 pies, 1 pulgada = 2,54 cm, 1m = 100 cm). Leer el nmero de pies y mostrar por pantalla el nmero de yardas, pies, pulgadas, centmetros y metros. 4. Elabore un algoritmo que calcule e imprima el costo de produccin de un artculo, teniendo como datos la descripcin y el nmero de unidades producidas. El costo se calcula multiplicando el nmero de unidades producidas por un factor de costo de materiales de 3.5 y sumndole al producto un costo fijo de 10000. Elaborar un algoritmo que calcule e imprima el costo de un terreno cuadrado o rectangular, teniendo como datos la anchura y la longitud en metros, y el costo del metro cuadrado. Elaborar un algoritmo para calcular el promedio de calificaciones de un estudiante. Los datos disponibles son el nombre y las cuatro calificaciones de los exmenes. La informacin requerida es el Nombre y las calificaciones. La calificacin final es obtenida al multiplicar las calificaciones 1, 2, 3 y 4 por los porcentajes 30%, 20%, 10% y 40%, respectivamente, y sumando los productos La velocidad de la luz es 300,000 kilmetros por segundo. Elaborar un algoritmo que lea un tiempo en segundos e imprima la distancia que recorre en dicho tiempo. Hacer un algoritmo que obtenga e imprima el valor de Y a partir de la ecuacin Y = 3X2 + 7X 15 solicitando como dato de entrada el valor de X. Una temperatura en grados Centgrados (C) se puede convertir a su equivalente Fahrenheit (F) con la formula: F = (9/5) C + 32 de Fahrenheit a Centgrados con la formula: C = (F 32)(5/9) Elaborar un algoritmo que lea una temperatura en grados centgrados y obtenga e imprima la temperatura Fahrenheit equivalente.

5. 6.

7. 8.

9.

10. Elaborar un algoritmo que lea el artculo y su costo: la utilidad es el 150% y el impuesto es el 19%; calcular e imprimir artculo, utilidad, impuesto y precio de venta. 11. Elaborar un algoritmo que permita leer valores para X, Y, Z, W; e imprima el valor de F.

(4x F=

y 2 2 zw 4x
1 2 3

12. Elaborar un algoritmo que lea el radio (r) de una esfera, calcule e imprima el volumen y el rea. VOLUMEN = 13. Elaborar un algoritmo que lea el valor de w e imprima el valor de Z. AREA = 4r2

b4 4r3

z=

1 2

32 w
2

14. Elaborar un algoritmo que lea la cantidad de dlares a comprar y el tipo de cambio (costo de un dlar) en: yenes, pesetas, libras esterlinas y nuevos soles; calcular e imprimir la cantidad a pagar en yenes, pesetas, libras esterlinas y nuevos soles. 15. Elaborar una algoritmo que permita leer el tamao de un ngulo en radianes e imprimir la tangente, cotangente, secante y cosecante. Tangente = seno Coseno coseno Seno Secante = 1 coseno 1 seno

Cotangente

cosecante

16. Elaborar un algoritmo que permita leer el tamao de un ngulo en grados e imprima el seno, coseno y arco tangente. Deben convertirse los grados ledos a radianes antes de hacer los clculos. 17. Elaborar un algoritmo que permita leer valores para A y B; e imprima Y, Z y W. Y = 3a2b2 2a Z = 12a1/2 b3/4 W = 2aa ( 3a2b2 2a )

PRACTICA 2: 1.

Condicionales: Simples, Dobles, Seleccin mltiple

Elabore un algoritmo para calcular e imprimir el precio de un terreno del cual se tiene los siguientes datos: largo, ancho y precio por metro cuadrado. Si el terreno tiene mas de 400 metros cuadrados se hace un descuento del 10%. Elabore un algoritmo para calcular e imprimir los valores de X y Y, teniendo como entrada el valor de X y calculando el de Y de acuerdo con las siguientes condiciones Si X < 0 entonces Y = 3X + 6

2.

Si X > = 0 entonces Y = X2 + 6 3. De acuerdo con la clase de sus ngulos los tringulos se clasifican en: Rectngulo tiene un ngulo recto (igual a 90) Obtusngulo tiene un ngulo obtuso (mayor que 90 pero menor que 180) Acutngulo los tres ngulos son agudos (menor que 90) Elaborar un algoritmo que permita leer el tamao de los tres ngulos (A, B,C) de un tringulo e imprima de qu tipo es. 4. Elabore un algoritmo que permita leer los datos de un empleado: Nombre, Tipo de empleado, nmero de horas trabajadas y pago por hora; calcular e imprimir el sueldo a pagar. Si el empleado es tipo 1 se le pagan las horas extras (ms de 40 horas) a 1.5 del pago por cada hora, si es tipo 2 a 2, si es tipo 3 a 2.5 y si es tipo 4 a 3 veces el pago por hora. Elabore un algoritmo que lea el nmero del mes entre 1 y 12 y, que imprima el nombre del mes correspondiente: si es 1 Enero, si es 2 Febrero,...etc. Elaborar un algoritmo que permita hacer conversiones de temperaturas entre grados Fahrenheit, Celsius, Kelvin y Rankine. Primero debe preguntar qu tipo de grados quiere convertir. Por ejemplo; si se le indica que se desea convertir una temperatura en grados Fahrenheit, debe leer la cantidad de grados, y luego calcular e imprimir su equivalente en grados Celsius, kelvin y Rankine, y as, debe hacer lo mismo para cada uno de los otros tipos. Para convertir a Celsius la temperatura Fahrenheit se le resta 32 y se multiplica por 5/9. para convertir a Kelvin, se le suma 273 a los grados Celsius. Para convertir a Rankine a los grados Fahrenheit se le suma 460. Un sistema de ecuaciones lineales ax + by = c dx + ey = f se puede resolver con las formulas ce bf af cd X = Y = ae - bd ae - bd

5.
6.

7.

si (ae - bd) < > 0

Elaborar un algoritmo que lea los coeficientes a, b, c, d, e y f y que calcule e imprima los valore de X y Y. Si (ae - bd) < > 0; debe calcular e imprimir los valores de X y Y, en caso contrario debe imprimir un mensaje que indique que no tiene solucin. PRACTICA 3: 1. Precondicionales

Elabore un algoritmo que lea un valor N y que imprima un tringulo de asteriscos, como se muestra a continuacin, si el valor ledo es 5 imprimir: * ** *** **** ***** Elaborar un algoritmo que permita leer un nmero N par; y, calcule e imprima la suma de los nmeros pares del 2 hasta el nmero ledo. Si el nmero ledo es menor a 2 debe imprimir un mensaje de error. Elaborar un algoritmo que permita leer el valor inicial y el valor final en grados Fahrenheit ; e imprima una tabla con equivalencias en grados Centgrados, desde el valor inicial hasta el valor final de 1 en 1. Fahrenheit Valor Inicial Centgrados 99.99 99.99

2.

3.

valor final

99.99

4.

5.

Elaborar un algoritmo que imprima la secante, cosecante y tangente de X; para valores de X desde 1 hasta 1 con intervalos de 0.1. Debe imprimir una tabla: X Secante X Cosecante X Tangente X -1.0 99.99 99.99 99.99 -0.9 99.99 99.99 99.99 . . 1.0 99.99 99.99 99.99 Elaborar un algoritmo que permita que los valores de los coeficientes a, b, c; se comporten as: B debe ir de 1 hasta 7. C debe ir de 7 a 1. A debe tomar cada vez que la diferencia de B C. Y, que imprima para cada juego de valores de a, b, c; si tiene raz nica, races complejas o races reales. Elaborar un algoritmo para calcular la cantidad que se tendra ahorrada despus de 10 aos, si se deposita mil nuevos soles mensuales a una tasa de inters mensual de 3%, capitalizable cada mes, es decir, que al capital se le agregan los intereses . El departamento de Polica y trnsito de la ciudad de Hermosillo, tiene los datos de las infracciones levantadas por sobrepasar los limites de velocidad establecidos. El departamento dividi a la ciudad en tres zonas, para cada una de las cuales desea obtener datos estadsticos que muestran las infracciones levantadas por el motivo indicado en el prrafo anterior. Por cada infraccin se tiene los siguientes datos: Nmero de placa (registro) del vehculo. Zona en la que fue la infraccin (1,2,3). Lmite de velocidad en kilmetros por hora. Velocidad a la que iba el vehculo en kilmetros por hora.

6.

7.

Crear un algoritmo para elaborar el reporte siguiente: INFRACCIONES A LOS LIMITES DE VELOCIDAD VEHCULO 999999999 999999999 . . . 999999999 REG. 999 999 VELOCIDAD 999 999 MULTA 9,999.99 9,999.99

999

999

9,999.99

ZONA 1 : TOTAL DE INFRACCIONES : 999 MONTO RECAUDADO EN MULTAS : 9,999.99 ZONA 2 : TOTAL DE INFRACCIONES : 999 MONTO RECAUDADO EN MULTAS : 9,999.99 ZONA 3 : TOTAL DE INFRACCIONES : 999 MONTO RECAUDADO EN MULTAS : 9,999.99 Nota: 8. El monto de la multa se calcula multiplicando S/.3.00 por cada kilmetro por hora que se exceda el lmite de velocidad.

Una compaa manufacturera fabrica el producto A. Para fabricar una unidad de dicho producto se requiere los siguientes materiales: Material 1: 3 unidades Material 2: 4 unidades Material 3: 1 unidad

Material 4: 2 unidades Material 5: 3 unidades Material 6: 2 unidades Se tiene como datos el costo de una unidad de cada uno de los seis materiales. Elaborar un algoritmo que lea los costos de los materiales, luego que lea pedidos del producto A en cada pedido se tiene el dato cantidad de unidades del producto A; cuando termine de leer los pedidos, imprimir: LISTADO DE MATERIALES REQUERIDOS CANTIDAD DE UNIDADES COSTO ESTIMADO 999 999 999 ----999 COSTO TOTAL 9. Elaborar un algoritmo que emita el reporte de un aumento de sueldos siguientes AUMENTOS DE SUELDOS SUELDO ANTERIOR 99,999.99 99,999.99 99,999.99 99,999.99 99,999.99 --------------99,999.99 99,999.99

MATERIAL 1 2 3 4 5 6

NOMBRE XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX . . . XXXXXXXXXXXXXXXXX TOTAL

SUELDO ACTUAL 99,999.99 99,999.99

99,999.99 999,999.99

99,999.99 999,999.99

Datos: Nombre, Sueldo mensual, tipo empleado (15). Clculo del nuevo sueldo es: Si tipo empleado es 1 se incrementa el 5% Si tipo empleado es 2 se incrementa el 7% Si tipo empleado es 3 se incrementa el 10% Si tipo empleado es 4 se incrementa el 14% Si tipo empleado es 5 se incrementa el 18% PRACTICA 4: 1. Post Condicionales

Elaborar un algoritmo que imprima el siguiente reporte: COSTO DE PRODUCCIN UNIDADES FACTOR COSTO PRODUCIDAS COSTO FIJO 9999 9999 9999 999.99 999.99 999.99 99,999.99 99,999.99 99,999.99 COSTO DE PRODUCCION 999,999.99 999,999.99 999,999.99

ARTICULO XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX . . XXXXXXXXXXXXXXXXX

TOTAL

999

ARTICULOS

99,999,999.99

Datos disponibles por cada articulo: Descripcin Cantidad de unidades producidas Factor de costo de materiales Costo fijo Clculo del costo de produccin = Nmero de unidades producidas X Factor de costo de materiales + costo fijo Al final imprimir el total de artculos procesados. Y el total general del costo de produccin. 2. Elaborar un algoritmo que permita el siguiente reporte: PRECIOS DE VENTA ARTCULO XXXXXXXXXX XXXXXXXXXX . . XXXXXXXXXX TOTAL 999 COSTO DE PRODUCCIN 99,999.99 99,999.99 99,999.99 99,999.99 UTILIDAD 99,999.99 99,999.99 99,999.99 99,999.99 IMPUESTO 99,999.99 99,999.99 99,999.99 99,999.99 PRECIO DE VENTA 999,999.99 999,999.99 999,999.99 999,999.99

Datos disponibles para cada artculo: Descripcin Costo de produccin Clculos: Utilidad = 120% del costo de produccin Impuesto = 15% (costo de produccin + utilidad) Precio de venta = costo de produccin + utilidad +impuesto 3. Elaborar un algoritmo para imprimir, una factura que contenga los datos de los artculos vendidos a un cliente, y que tenga el siguiente formato: FACTURA NOMBRE DEL CLIENTE: XXXXXXXXXXXXXXXXXXXXXXXXX PRECIO UNITARIO ARTICULO CANTIDAD XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX . . XXXXXXXXXXXXXXXXX 999 999 999 SUBTOTAL IMPUESTO 19% TOTAL Datos disponibles para cada artculo: Descripcin Cantidad de artculos 99,999.99 99,999.99 99,999.99

PRECIO TOTAL 999,999.99 999,999.99 999,999.99 9,999,999.99 9,999,999.99 9,999,999.99

Precio unitario de venta Adems se tiene el nombre del cliente |Clculos Precio total Subtotal Impuesto Total = Cantidad de artculos X precio unitario = La suma de los precios totales = 19% del subtotal = Subtotal + Impuesto

4.

Elabore un algoritmo que imprima el siguiente reporte:

NOMBRE XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX . . XXXXXXXXXXXXXXXXX TOTAL 999

NOMINA QUICENAL SDO. BRUTO IMPUESTO 999,999.99 999,999.99 999,999.99 999,999.99 999,999.99 999,999.99 999,999.99 999,999.99

SDO. NETO 999,999.99 999,999.99 999,999.99 999,999.99

Datos disponibles por cada empleado: Nombre Sueldo mensual Antigedad Clculos: Sueldo bruto = (sueldo mensual / 2) + bonificacin de antigedad. La bonificacin de antigedad se otorga a partir del tercer ao de labores y es, de 2% anual El impuesto se calcula usando la tabla siguiente Lim. inferior 1 301 701 1101 1701 Lim. Superior 300 700 1100 1700 adelante Cuota fija 30 50 100 150 200 Porcentaje 3% 8% 11% 16% 20%

Cuando el sueldo bruto excede el salario mnimo, se calcula el excedente y se busca ste en la tabla a fin de determinar en cual rango se encuentra. El impuesto ser la cuota fija ms el porcentaje indicado en la diferencia del excedente sobre el lmite inferior. 5. Elabore un algoritmo que contabilice una cuenta de cheques. Al inicio se le introduce el nombre del cuentahabiente y el saldo inicial. A continuacin se pueden hacer depsito y retiros. Cuando sea depsito se incrementa al saldo y cuando sea retiro se resta. El programa terminar cuando ya no se desee hacer movimientos. Se requiere la impresin del siguiente reporte:

ESTADO DE CUENTA CUENTA HABIENTE: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX SALDO INICIAL : 99,999,999.99 MOVIMIENTO 1 2 3 4 . . N TOTALES DEPOSITO 999,999.99 999,999.99 999,999.99 999,999.99 RETIRO SALDO 99,999,999.99 99,999,999.99 99,999,999.99 99,999,999.99

9,999,999.99

9,999,999.99

99,999,999.99

6. Se tiene los datos del transporte del elevador de un edificio, por cada viaje hecho durante el da, se tiene los siguientes datos: Viaje: Cantidad de personas: Peso de viaje: Viaje: Cantidad de personas: Peso de viaje: Viaje: Cantidad de personas: Peso de viaje: ---------

-----

Elaborar un algoritmo que lea los datos de los viajes del da, y al final que imprima: ESTADISTICA DEL DIA CANTIDAD DE VIAJES: 999 CANTIDAD DE PERSONAS TRNSPORTADAS: 999 PESO TRANSPORTADO (KILOS): 9999.99 PROMEDIO DE PERSONAS POR VIAJE: 99.99 PROMEDIO DE PESO POR VIAJE: 9999.99 7. Se tienen los datos de varios autos importados, elaborar un algoritmo que permita leer los datos de cada automvil: marca, orgen y costo; imprimir el siguiente reporte: REPORTE DE AUTOS IMPORTADOS MARCA XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX . . . XXXXXXXXXXXXXXXXXXXX TOTAL 999 AUTOS ORIGEN XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX COSTO 99,999.99 99,999.99 IMPUESTO 99,999.99 99,999.99 PRECIO VTA. 99,999.99 99,999.99

XXXXXXXXXXXXXXX

99,999.99 99,999.99

99,999.99 99,999.99

99,999.99 99,999.99

ALEMANIA: ---JAPON: ---ITALIA: ---USA: ---PAIS DEL QUE SE IMPORTO MAS AUTOS:

X----------------------------------X

Clculos: IMPUESTO si el orgen es Alemania el impuesto es 20%, si es de Japn el impuesto es 30%, si es de Italia el 15% y si es de USA el 8%. PRECIO VTA. Se suma el costo mas el impuesto. TOTALES se pide el total de los autos importados, as como totales del costo, impuesto y precio de venta. Por ltimo el total de autos importados de cada pas.

8.

Elaborar un algoritmo que imprima el siguiente reporte: NOMBRE XXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX . . . XXXXXXXXXXXXXXXXXXXXXXXXXX TOTALES 999 NOMINA QUINCENAL SUELDO BRUTO 99,999.99 99,999.99 IMPUESTO 99.999.99 99.999.99 SUELDO NETO 99,999.99 99,999.99

99,999.99 99,999.99

99.999.99 99.999.99

99,999.99 99,999.99

Dato general: Salario mnimo general Datos por cada empleado: Nombre, sueldo mensual Clculos Sueldo Bruto: se divide sueldo mensual entre dos porque la nmina es quincenal Impuesto: Si el bruto no excede el salario mnimo el impuesto es cero. Si el bruto excede al salario mnimo: se aplica el 5% de impuesto sobre el excedente del salario mnimo hasta dos salarios mnimos de excedente, despus de esta cantidad el impuesto es el 10%. 9. En la E.A.P de Ingeniera de Sistemas e Informtica de la Universidad X , cada alumno tiene los siguientes datos: Nombre del alumno: X-----------------------------------------------X Cada alumno puede haber llevado varios cursos, por cada curso, se tiene los datos: Curso: X--------------------------------------X Calificacin 1: --Calificacin 2: --Calificacin 3: -----------------------------Nombre del alumno: X-----------------------------------------------X Curso: X---------------------------------------X Calificacin 1: --Calificacin 2: --Calificacin 3: ------------------------

--------------Elaborar un algoritmo que lea los datos de cada uno de los alumnos y por cada alumno, los datos de cada uno de los cursos e imprima el siguiente reporte: REPORTE DE CURSOS CURSOS CALIF. FINAL XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX . . XXXXXXXXXXXXXXX 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99 999.99

NOMBRE XXXXXXXXXXXXXXXXXXXX

OBSERVACIN APROBADO DESAPROBADO DESAPROBADO APROBADO DESAPROBADO APROBADO

TOTAL ALUMNO 999 CURSOS PROMEDIO: XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX . . XXXXXXXXXXXXXXX TOTAL ALUMNO 999 CURSOS --------------TOTAL ALUMNO 999 CURSOS ------------------------------------------TOTAL GENERAL 999 ALUMNOS PROMEDIO: PROMEDIO:

PROMEDIO GENERAL:

999.99

Clculos: CALIF. FINAL es el promedio de las tres calificaciones del curso. OBSERVACION es el comentario APROBADO o DESAPROBADO segn sea la calificacin final. TOTAL ALUMNO se imprime el nmero de materias que curs y el promedio de la calificaciones finales de todas las materias que curs TOTAL GENERAL se imprime la cantidad de los alumnos procesados y el promedio general de todos los alumnos.

10

PRACTICA 5: Programacin Modular, Funciones 1. Elaborar un algoritmo que evale la funcin:

f =

X! Y!(X Y)!

de la cual se tiene los datos X y Y; los mismos que debern solicitarse y leerse. Factorial de X se divide entre el factorial de Y multiplicado por el factorial de X Y. 2. Elaborar un algoritmo que ofrezca un men de opciones, mediante el cual se pueda escoger calcular el rea de las figuras geomtricas: tringulo, cuadrado, rectngulo y crculo. Una vez seleccionada la opcin, que llame al mdulo que permita solicitar, leer los datos necesarios, hacer el clculo correspondiente e imprimirlo. rea de tringulo = BASE X ALTURA 2 rea de cuadrado = LADO2 rea de crculo = r2 rea de rectngulo = LARGO X ANCHO Debe ofrecer el siguiente men de opciones, donde est solicitando la opcin deseada: AREAS FIGURAS GEOMTRICAS 1. TRIANGULO 2. CUADRADO 3. RECTANGULO 4. CIRCULO 5. FIN OPCION : 3. Elaborar un algoritmo que permita leer dos nmeros de tipo real en el mdulo principal; que en un mdulo los intercambie va parmetros por referencia, y los imprima en el mdulo principal. 4. Elaborar un algoritmo que permita leer tres nmeros de tipo entero; e imprima el mayor; utilizando un mdulo para leer los nmeros, una funcin para obtener y devolver el mayor y un mdulo para imprimir el mayor. Utilizando parmetros. 5. Elaborar un algoritmo que permita leer la base y el exponente, que llame a una funcin que eleve el nmero a la potencia, al regresar al mdulo principal que imprima el resultado. 6. Elaborar un algoritmo que imprima la sumatoria de las races cuadradas de los nmeros pares desde 2 hasta 1500. Utilizar un mdulo o funcin para el clculo de la sumatoria. 7. Elaborar un algoritmo que lea un nmero N, que imprima la sumatoria de los cuadrados de los enteros entre 1 y N. Utilizar un mdulo para el clculo de la sumatoria va parmetro por referencia. 8. Elaborar un algoritmo que lea diez valores para Y y X, calcule e imprima el valor de Z; utilizando la funcin

Z = YX
Imprimir los diez valores para X, Y y Z.

9. Elaborar un algoritmo que permita leer un nmero de tipo entero de cinco cifras; calcular e imprimir el dgito verificador. El dgito verificador es un nmero entre 0 y 9, que se obtiene a partir de un nmero en el que se toma en cuenta la posicin que tiene cada dgito; se obtiene de la siguiente manera: Si se tiene el nmero: 74621

11

Proceso 1 Se obtiene la suma de los productos: el primer nmero de la derecha multiplicado por dos, el siguiente a la izquierda por tres, el siguiente por cuatro, y as sucesivamente, hasta siete (el multiplicador vuelve a iniciar en 2, en caso de ser necesario). 7 4 6 2 1

1X2= 2 2X3= 6 6 X 4 = 24 4 X 5 = 20 7 X 6 = 42 94 Proceso 2 Se determina el residuo al dividir el producto entre once. 94 11 6 8

Proceso 3 Si el residuo es cero o uno, entonces ese es el dgito verificador; de lo contrario el dgito verificador ser igual al resultado que se obtenga de once menos el residuo; en el ejemplo: Dgito verificador = 11 6 = 5 10. Simular una mquina expendedora de caf. Crear un men con las siguientes opciones:
**************************************** 1. Seleccionar producto 2. Pagar y dar vuelto 3. Salir Seleccione opcin: .. a. b. c. Para la opcin Seleccionar producto presentar *************************************** S/. 1.00 S/. 1.50 S/. 2.00 Elegir opcin: .. Para la opcin Pagar y dar vuelto presentar *************************************** Precio _ _ _ _ _ (debe aparecer precio de producto seleccionado) Monto _ _ _ _ _ (monto que paga el cliente, verificar que no es menor que precio)

Caf Caf con leche Leche

Finalmente en el programa principal debe mostrar: Usted compr (nombre del producto ) de precio (precio) Pag (monto) y su vuelto es (vuelto) Usar funciones y paso de parmetros.

12

PRACTICA 6: Array (arreglos, listas o tablas): unidimensionales, bidimensionales 1. Programa que lea 20 nmeros enteros, los almacene en un vector, y calcule la suma de todos ellos, as como la media aritmtica.

2.

Un vector se dice que es simtrico si el elemento que ocupa la posicin i_sima coincide con el que ocupa la posicin n_i_sima, siempre que el nmero de elementos que almacene el vector sea n. Por ejemplo el vector que almacena los valores 2,4,5,4,2 es simtrico. Elaborar un programa y una funcin que decida si el vector de n datos que recibe como parmetro es simtrico. 3. Escribir un programa que halle y escriba una tabla con los 10 primeros nmeros primos. Un nmero es primo si slo tiene por divisores la unidad y el propio nmero.

4.

Programa que genere aleatoriamente los datos de un vector, lo visualice, y calcule la media m, la desviacin media dm y la desviacin tpica dt, dados por las siguientes expresiones:

m=

a( i )
i =0

n 1

dm =

abs( i ) m
i =o

n 1

dt =

( a( i ) m )
i =o

n 1

5. Dados los nombres, promedio final de los alumnos de un curso de Ingeniera, elaborar un programa para almacenar(ingresar) dichos datos y mostrar, presentar en un men de opciones.

6.
7.

Dado un vector de enteros de n elementos ordenar de menor a mayor Elaborar un programa para presentar el siguiente men de opciones, utilizando funciones: MENU a. b. c. Factorial de un nmero entero positivo. Cargar y ordenar en orden descendente un vector de diez elementos. Salir Seleccione Opcin: __

8.

Elaborar un programa para presentar el siguiente men de opciones, utilizando funciones: MENU

1.
2.

Cargar y realizar la diferencia de dos matrices del mismo orden Amxn - Bmxn. Salir. Seleccione Opcin: __

13

PRACTICA 7: Ejercicios varios, Registros, archivos.

1. Programa que visualice un cuadrado mgico de orden impar n, comprendido entre


3 y11; el usuario elige el valor de n. Un cuadrado mgico se compone de nmeros enteros comprendidos entre 1 y n2 . La suma de los nmeros que figuran en cada lnea, cada columna y cada diagonal son idnticos. Un ejemplo es: 8 1 6 3 5 7 4 9 2 Un mtodo consiste en situar el nmero 1 en el centro de la primera lnea, el nmero siguiente en la casilla situada encima y a la derecha , y as sucesivamente. Considerar que el cuadrado de cierra sobre s mismo: la lnea encima de la primera es de hecho la ltima y la columna a la derecha de la ltima es la primera. Cuando la posicin del nmero caiga en una casilla ocupada, se elige la casilla situada debajo del nmero que acaba de ser situado. 2. Se pretende simular la representacin en el espacio tridimensional de tringulos, pero minimizando el espacio necesario para almacenarlos. Teniendo en cuenta que un tringulo en el espacio tridimensional viene determinado por las coordenadas de sus tres vrtices, escribir un programa con una estructura para representar un tringulo que usando un vector dinmico almacene el ndice de los tres vrtices as como su permetro y rea (de esta forma se almacena los tres vrtices con tres enteros en lugar de nueve reales, ahorrando memoria). El permetro y el rea deben ser calculados mediante una funcin a partir del ndice de los tres vrtices, y el vector dinmico de puntos del espacio tridimensional.

3. Los mtodos de ordenacin por insercin lineal e insercin binaria, slo se


diferencian entre s, conceptualmente, en el mtodo de la bsqueda. Por tanto, el nmero de movimientos de claves ser el mismo en ambos casos, y es

n(n 1) . 2

En cuanto al nmero de comparaciones, cuando el intervalo tiene i elementos, se realizan log 2 (i ) comparaciones. Por tanto, el nmero de comparaciones es:

C = log 2 (i ) =
i =1

n 1

n 1

log

( x)dx = n log 2 (n)

Es decir el nmero de comparaciones es O (n log 2 (n)) , y el nmero de movimientos es O (n 2 ) . En un men de opciones presentar los subprogramas para ordenar un arreglo de datos: a) Por el mtodo de insercin lineal b) Por el mtodo de insercin binaria 4. Programa que permita crear un arreglo de 100 enteros aleatorios en el rango de 1 a 200 y, a continuacin, utilizando una bsqueda secuencial, realizar la bsqueda de 50 enteros seleccionados aleatoriamente (iguales o distintos). Al final del programa se deben visualizar las siguientes estadsticas: Nmero de bsquedas con xito Nmero de bsquedas fallidas

14

Porcentajes de xito y de fallo

5. Un atleta utiliza un pulsmetro para sus entrenamientos. El pulsmetro almacena las pulsaciones cada 15 segundos, durante un tiempo mximo de 2 horas. Elaborar un programa para almacenar en un archivo los datos del pulsmetro del atleta, de tal forma que el primer registro contenga la fecha, hora y tiempo en minutos de entrenamiento, a continuacin, los datos del pulsmetro por parejas: tiempo, pulsaciones. Los datos deben ser ledos del teclado. Una vez escrito en el archivo los datos, el programa debe visualizar el contenido completo del archivo. 6. Convertir un nmero a letras e incluir signo monetario, ejemplo S/. 1.237,50 (Un mil doscientos treinta y siete con cincuenta / cntimos Nuevos Soles). 7. El Juego de sociedad es un acertijo que mediante operaciones elementales procesa dos nmeros: el primero que presenta el da y mes de su nacimiento, as por ejemplo 5 de marzo es: 503, y el segundo nmero es su edad, requirindose de los siguientes clculos: a) Multiplicar el primer nmero por 2 b) Adicionarle 5 c) Multiplicarlo por 50 d) Sumarle el segundo nmero e) Sumarle 365 f) Restarle 615 Elaborar un programa utilizando funcin para mostrar la unin del primer nmero con el segundo.

8.

Elaborar un programa que permita leer un nmero de tipo entero de cinco cifras; calcular e imprimir el dgito verificador. El dgito verificador es un nmero entre 0 y 9, que se obtiene a partir de un nmero en el que se toma en cuenta la posicin que tiene cada dgito; se obtiene de la siguiente manera: Si se tiene el nmero: 74621 Proceso 1 Se obtiene la suma de los productos: el primer nmero de la derecha multiplicado por dos, el siguiente a la izquierda por tres, el siguiente por cuatro, y as sucesivamente, hasta siete (el multiplicador vuelve a iniciar en 2, en caso de ser necesario).
7 4 6 2 1 1X2= 2 2X3= 6 6 X 4 = 24 4 X 5 = 20 7 X 6 = 42 94

Proceso 2 Se determina el residuo al dividir el producto entre once. 94 6 8 11

15

Proceso 3 Si el residuo es cero o uno, entonces ese es el dgito verificador; de lo contrario el dgito verificador ser igual al resultado que se obtenga de once menos el residuo; en el ejemplo: Dgito verificador = 11 6 = 5 9. Simular una mquina expendedora de caf. Crear un men con las siguientes opciones: **************************************** 4. Seleccionar producto 5. Pagar y dar vuelto 6. Salir a. b. c. Seleccione opcin: .. Para la opcin Seleccionar producto presentar *************************************** S/. 1.00 S/. 1.50 S/. 2.00

Caf Caf con leche Leche

Elegir opcin: .. Para la opcin Pagar y dar vuelto presentar ***************************************


Precio _ _ _ _ _ (debe aparecer precio de producto seleccionado) Monto _ _ _ _ _ (monto que paga el cliente, verificar que no es menor que precio)

Finalmente en el programa principal debe mostrar: Usted compr (nombre del producto ) de precio (precio) Pag (monto) y su vuelto es (vuelto) Usar funciones y paso de parmetros. 10. Escribir un programa para calcular el nmero de das que hay entre dos fechas; declarar fecha como una estructura. 11. Un nmero racional se caracteriza por el numerador y denominador. Escribir un programa para operar con nmeros racionales. Las operaciones a definir son la suma, resta, multiplicacin y divisin; adems de una funcin para simplificar cada nmero racional. 12. Escribir un programa que gestione una agenda de direcciones. Los datos de la agenda se almacenan en memoria en un array de estructuras, cada una de las cuales tiene los siguientes campos: nombre, direccin, telfono fijo, telfono mvil, direccin de correo electrnico. El programa debe permitir aadir una nueva entrada a la agenda, borrar una entrada, buscar por nombre y eliminar una entrada determinada por el nombre.

16

13. Suponer que se tienen dos arrays del tipo descrito en el problema propuesto 12 10. Codificar un programa en C++ que los una en uno solo, eliminando los duplicados que puedan existir entre los dos. 14. Suponer que se tiene un array que almacena la informacin de los empleados de una empresa. De cada empleado se guarda el nombre, los dos apellidos, el nmero de la Seguridad Social, la edad, el departamento en el que trabaja y la antigedad en la empresa. Escribir un programa en el que se ordene el array por el campo primer apellido y en caso de que el primer apellido coincida por el segundo apellido. Si ambos apellidos coinciden para algn registro, ordenar entonces por el nombre. 15. Utilizando el array del Problema anterior escribir un programa que permita a un usuario por medio de un men elegir uno de los campos para realizar una bsqueda por dicho campo en el array de registros. 16. Escribir un programa auxiliar que permita aadir nuevos campos a la tabla de empleados, como por ejemplo, sueldo anual y porcentaje de retenciones de impuestos. Una vez modificado el array de estructuras, escribir un programa que permita a un usuario elegir un rango de registros de empleados especificando un apellido inicial y otro final, o un departamento concreto, y produzca en la salida la suma total de los sueldos que se les pagan a los empleados seleccionados. 17. Escribir un programa que permita elaborar un informe a partir del array de estructuras anterior con el siguiente formato. Cada pgina contendr los empleados de un solo departamento. Al comienzo de cada pgina se indica por medio de una cabecera cada uno de los campos que se listan y al departamento que corresponde el listado. Los campos aparecen justificados a la derecha en cada columna. 18. Escribir un programa que lea lneas de texto obtenga las palabras de cada lnea y las escriba en pantalla en orden alfabtico. Se puede considerar que el mximo nmero de palabras por lnea es 28. 19. Un sistema de encriptacin simple consiste en sustituir cada carcter de un mensaje por el carcter que est situado a tres posiciones alfabticas por delante suyo. Escribir una funcin que tome como parmetro una cadena y devuelva otra cifrada como se ha explicado. 20. Escribir un programa que lea un texto, y dos palabras claves, clave1 y clave2. El programa debe sustituir todas las apariciones de clave1 por clave2, mostrar el nuevo texto, e indicar el nmero de intercambios realizados. 21. Otro sistema de encriptacin consiste en sustituir cada carcter del alfabeto por otro decidido de antemano, pero siempre el mismo. Utilizar este mtodo en una funcin que tome como parmetros el mensaje a cifrar y una cadena con las correspondencias ordenadas de los caracteres alfabticos. La funcin devolver un puntero a la cadena cifrada del mensaje. 22. Se trata de encriptar un texto mediante una funcin de cifrado. El cifrado se realiza se realiza cambiando todas las letras minsculas por otras nuevas letras que recibe en un array cifrado de caracteres; es decir de cambiar a por cifrado[0], b por cifrrado[1], etc. Escribir una funcin que reciba un texto y lo encripte.

17

23. Escribir una funcin que reciba el texto que retorna la funcin del problema anterior, debidamente encriptado, y lo transforme en el texto original. El array de cifrado es un dato. 24. Utilizando estructuras elaborar un programa para mostrar la fecha y hora actual del sistema. 25. Una criptografa es un simple mensaje codificado donde una carta es simplemente sustituida por otra, todo el mensaje. Por ejemplo: Codificado : HPC PJVYMIY Decodificado : ACM CONCURSO En el ejemplo de arriba, H=A, P=C, C=M, J=O, V=N, Y=T, M=E y I=S. Para este problema, usted decodificar los mensajes. Entrada La primera lnea de entrada contiene un solo entero N, (1 N 1000) que es el nmero de conjuntos de datos que siguen. Cada conjunto de datos consta de dos lneas de entrada. La primera lnea es el mensaje codificado. La segunda lnea es uno de los 26 caracteres de letras en mayscula dando el carcter cartografa para cada letra del alfabeto: el primer carcter da la cartografa de A, la segunda de B y as sucesivamente. nicamente con letras maysculas ser utilizado. Salida De cada conjunto de datos, usted debe generar una lnea de produccin con los siguientes valores: el conjunto de datos nmero como un decimal entero (inicia el escrutinio en uno), un espacio y el descifrado mensaje. Ejemplo de Entrada 2 HPC PJVYMIY BLMRGJIASOPZEFDCKWYHUNXQTV FDY GAI BG UKMY KIMHOTSQYRLCUZPAGWJNBVDXEF Ejemplo de Salida 1 ACM CONTEST 2 THE SKY IS BLUE

26. Implementar un programa al que se le pase el nombre de un archivo como argumento,


el cual, debe existir en el disco, y contenga un texto cualquiera formado por palabras. El programa debe ofrecer un men con dos opciones: a) ordenar las palabras del texto en orden descendente b) ordenar las palabras del texto en orden ascendente Utilizar punteros a funciones, y funciones como argumentos.

27. Mostrar una cruz en la pantalla.

18

Das könnte Ihnen auch gefallen