16
Anexos:Serie de Ejercicios Programación Estructurada 127 SERIE DE EJERCICIOS ALGORITMOS 1. Diseñar los algoritmos que resuelvan los siguientes problemas: A) Trasladarte de tu casa al cine B) Hacer una taza de té C) Hacer una torta de jamón D) Pagar una multa de tráfico E) Cambiar la llanta ponchada de una auto ESTRUCTURA DE CONTROL SECUENCIAL 2. Escribir un programa que calcule la media de cinco valores. La media es la medida estadística más común. La media (y) de una muestra se define como la suma de los datos individuales (y i ) dividido por el número de puntos (n), o: y = y i / n 3. Realizar un programa que sume dos números enteros. 4. Escribir un programa que calcule y escriba el cuadrado de 243. 5. Realizar un programa que de calcule el perímetro y la superficie de un rectángulo dada la base y la altura. 6. Realizar un programa que determine el área y volumen de un cilindro cuyas dimensiones radio y altura se leen desde el teclado. 7. Escribir un programa que lea un nombre de una marca de automóviles seguida del nombre de su modelo e informe el modelo seguido del nombre. 8. Diseñar un programa para determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de los catetos. 9. Diseñar un programa que calcule el área de un triángulo en función de las longitudes de sus lados: Área = p((p- a)(p-b)(p-c)) 1/2 , donde p=(a+b+c)/2 (semiperímetro). 10. Escribir un programa que lea un número y escriba su cuadrado. 11. Realice la conversión de coordenadas polares a cartesianas 12. Realizar un programa que intercambie los valores de dos variables numéricas. 13. Diseñar un programa que permita convertir pulgadas a yardas, y pies a pulgadas. 14. Escribir un programa que imprima la conversión de kilómetros a millas. (1 milla marina = 1852 mts y 1 milla = 1609 mts). 15. Diseñar un programa que permita imprimir la conversión de centímetros a pulgadas (1 pulgada = 24.5 mm). 16. Escribir un programa tal que, dado el costo de un artículo vendido y la cantidad de dinero entregada por el cliente, calcule e imprima el cambio que debe entregársele al mismo. 17. Diseñar un programa para resolver una ecuación de primer grado con una sola variable.

Serie de Ejercicios2014a

Embed Size (px)

DESCRIPTION

Serie de ejercicios programación

Citation preview

Page 1: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 127

SERIE DE EJERCICIOS

ALGORITMOS 1. Diseñar los algoritmos que resuelvan

los siguientes problemas: A) Trasladarte de tu casa al cine B) Hacer una taza de té C) Hacer una torta de jamón D) Pagar una multa de tráfico E) Cambiar la llanta ponchada de una

auto ESTRUCTURA DE CONTROL

SECUENCIAL 2. Escribir un programa que calcule la

media de cinco valores. La media es la medida estadística más común. La media (y) de una muestra se define como la suma de los datos individuales (yi) dividido por el número de puntos (n), o:

y = yi / n

3. Realizar un programa que sume dos

números enteros. 4. Escribir un programa que calcule y

escriba el cuadrado de 243. 5. Realizar un programa que de calcule el

perímetro y la superficie de un rectángulo dada la base y la altura.

6. Realizar un programa que determine el

área y volumen de un cilindro cuyas dimensiones radio y altura se leen desde el teclado.

7. Escribir un programa que lea un

nombre de una marca de automóviles seguida del nombre de su modelo e informe el modelo seguido del nombre.

8. Diseñar un programa para determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de los catetos.

9. Diseñar un programa que calcule el

área de un triángulo en función de las longitudes de sus lados: Área = p((p-a)(p-b)(p-c))1/2, donde p=(a+b+c)/2 (semiperímetro).

10. Escribir un programa que lea un

número y escriba su cuadrado. 11. Realice la conversión de coordenadas

polares a cartesianas 12. Realizar un programa que intercambie

los valores de dos variables numéricas. 13. Diseñar un programa que permita

convertir pulgadas a yardas, y pies a pulgadas.

14. Escribir un programa que imprima la

conversión de kilómetros a millas. (1 milla marina = 1852 mts y 1 milla = 1609 mts).

15. Diseñar un programa que permita

imprimir la conversión de centímetros a pulgadas (1 pulgada = 24.5 mm).

16. Escribir un programa tal que, dado el

costo de un artículo vendido y la cantidad de dinero entregada por el cliente, calcule e imprima el cambio que debe entregársele al mismo.

17. Diseñar un programa para resolver una

ecuación de primer grado con una sola variable.

Page 2: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 128

18. Escriba un programa completo que calcule el volumen y el área de una esfera usando la formula:

V = (4/3) r

A = 4r2

19. Elaborar un programa para calcular la calificación final de un alumno, teniendo como datos 4 calificaciones parciales.

SELECCIÓN (DOBLE, SIMPLE Y MÚLTIPLE) E ITERACIÓN (MIENTRAS,

REPITE Y PARA)

19. Elabore un programa que lea números del 1 al 7 y despliegue "Domingo" si es 1, "Lunes" si es 2, "Martes" si es 3,..., "Sábado" si es 7.

20. Elabore un programa similar al

anterior pero para desplegar los meses.

21. Escribir un programa que lea cuatro

números y a continuación imprima el mayor de los cuatro.

22. Realizar un programa que determine

si un número es divisible entre 14.

23. Realizar un programa que determine si un número es múltiplo de 6.

24. Diseñar un programa para introducir

un número y determinar si es par o impar.

25. Realizar un programa tal que de dos

números cualesquiera, encontrar la suma e indicar si es positiva, negativa o cero.

26. Realizar un programa que determine si un número dado es divisible entre 2 y 5.

27. Realizar un programa tal que dados

dos números enteros determinar si un número es divisor de otro

28. Diseñar un programa que permita

imprimir los enteros del 9 al 43.

29. Diseñar un programa que permita imprimir los enteros impares del 7 al 51.

30. Diseñar un programa que permita

imprimir los enteros pares del 2 al 48.

31. Diseñar un programa que imprima y

sume la serie de números 3, 6, 9, ..., 99.

32. Diseñar un programa que permita

imprimir los enteros del 1 al 30, apareados con sus recíprocos

33. Diseñar un programa que permita

imprimir una tabla de potencias del 2 que no exceda al 1000.

34. Diseñar un programa que permita

introducir un conjunto de 25 números. Determinar la cantidad de números positivos y negativos del conjunto.

35. Diseñar un programa que permita

imprimir la tabla de multiplicar hasta 12*12

36. Diseñar un programa que permita

introducir un entero positivo N. Encontrar la suma de los N enteros.

Page 3: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 129

Imprimir cada uno de los enteros y la suma.

37. Elaborar un programa que dados N

números imprima cuántos 0 (ceros) se teclearon.

38. Diseñar un programa que permita

introducir N enteros. Calcular e imprimir el producto de los números pares

39. Diseñar un programa que realice la división de dos números utilizando el método de restas sucesivas

40. Diseñar un programa que permita

realizar la multiplicación de dos números utilizando el método de sumas sucesivas.

41. Diseñar un programa que permita

encontrar la suma de los cuadrados de los enteros del 1 al N. Es decir, su programa calculará:

12+22+32+...+N2.

42. Diseñar un programa que permita calcular la suma de las raíces cuadradas de los números impares que hay entre 1 y 1000.

43. Escribir un programa para calcular el

factorial, n!, de un entero positivo n cualquiera. El programa debe leer el valor de n e imprimir n! después de calcularlo.

44. Diseñar un programa que permita

leer un número N y calcular la suma de la siguiente serie:

11 + 22 + 33 + ... + NN

45. Diseñar un programa que permita encontrar el mayor número entre N

números no nulos. Su programa calculará N, contando el número de valores no nulos que precede a un cero final.

46. Diseñar un programa que permita

leer una serie de números distintos de cero ( el último número de la serie es -99) obtener el número mayor. Como resultado se debe visualizar el número mayor y un mensaje de indicación de número negativo, caso de que se haya leído un número negativo.

47. .Escribir un programa que calcule y

visualice el más grande, el más pequeño y la media de N números. El valor de N se solicitará al principio del programa y los números serán introducidos por el usuario.

48. Escribir un programa que sume los

números de 1 al 1000 no terminados en 5.

49. Desarrollar un programa que

determine en un conjunto de 100 números: a) ¿Cuántos son menores que 15? b) ¿Cuántos son menores que 50? c) ¿Cuántos están comprendidos

entre 45 y 55?

50. Elabore un programa que calcule el sueldo de un empleado; si el número de horas trabajadas es mayor que 40, el excedente de 40 se paga al doble de la cuota por hora. En caso de no ser mayor que 40 se paga la cuota normal. El usuario debe determinar cuál es la cuota para la hora normal.

Page 4: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 130

51. Dado el peso, la altura y el sexo de N personas que pertenecen a un estado de la República; obtenga el promedio del peso y la altura de esta población. Imprimir ambos promedios.

52. Escribir un programa tal que tome

en cuenta lo siguiente: Los empleados de una fábrica trabajan dos turnos. Se desea calcular el sueldo diario con respecto a lo siguiente:

A) La tarifa de las horas diurnas es

de $1,50 B) La tarifa de las horas nocturnas

es de $2,50 C) En caso de ser un empleado

nominado la tarifa se incrementa en .50 centavos en turno diurno y $1,50 el turno nocturno.

53. Elaborar un programa que lea un

valor N y que imprima un triángulo de asteriscos, como se muestra a continuación, si el valor leído es 5:

* ** *** **** *****

54. Un número perfecto es un entero

positivo, que es igual a la suma de todos los enteros positivos (excluido el mismo) que son divisores del número. El primer número perfecto es 6, ya que los divisores de 6 son 1, 2 y 3 y 1+2+3=6. Escribir un programa que encuentre los primeros tres números perfectos.

55. Elaborar un programa para calcular e imprimir el precio de un terreno, del cual se tienen los siguientes datos: largo, ancho y precio por metro cuadrado. Si el

terreno tiene más de 400 m2 se hace un descuento del 10%. Si el

terreno tiene más de 500 m2 el descuento es de 17% y si tiene más

de 1000 m2 el descuento es de 25%.

56. Elaborar un programa para calcular

el precio del boleto ida y vuelta en ferrocarril, conociendo la distancia del viaje de ida y el tiempo de estancia. Se sabe además que si el número de días de estancia es superior a 7 y la distancia total ida y vuelta a recorrer es superior a 800 km, el billete tiene una reducción del 30%. El precio por km es de $0.17.

57. Una compañía de seguros ofrece

políticas de aseguramiento de prima reducida, porque sólo asegura personas que fuman menos de diez cigarrillos y pesan menos de 90 kilos. Escriba un programa que procese una lista de solicitantes. Para cada uno de ellos especifique el nombre, número de cigarrillos fumados a diario y el peso. La salida debe tener:

a) El nombre de cada solicitante, el número de cigarrillos que fuma diario y el peso, así como un mensaje que indica si se acepta o rechaza a la persona. Si la persona ha sido RECHAZADA, la(s) razón (es) deberá (n) imprimirse.

Page 5: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 131

b) El número promedio de cigarrillos y el peso promedio de los solicitantes que han sido aceptados.

58. Una compañía de seguros ha

reunido datos concernientes a todos los accidentes de tránsito ocurridos durante el año. Los datos que se tienen de cada conductor comprendido en un accidente, son los siguientes: Edad del conductor, Sexo, Código de ciudad (1-capital; 2-provincia). Leer los datos e imprimir los siguientes resúmenes estadísticos de los conductores que han participado en accidentes:

a) Porcentaje de conductores menores de 25 años. b) Porcentaje de conductores del sexo femenino. c) Porcentaje de conductores del sexo masculino con edades entre 18 y 25 años. d) Porcentaje de conductores que son originarios de la capital.

59. Un cliente ordena cierta cantidad de

libros, discos y cuadernos; los libros tienen el 20% de descuento y los discos el 15%. Los datos que se tienen por cada tipo de artículo son: la cantidad pedida y el precio unitario. Además, si se paga de contado todo tiene un descuento del 6%. Realizar un programa que calcule e imprima el costo total de la orden, tanto para el pago de contado como para el caso de pago a crédito.

60. Construir un programa tal que dado

como dato Y, calcule el resultado de la siguiente función:

3Y + 36 si 0<Y<=11

X= Y2 - 10 si 11<Y<=33

Y3 + Y2 -1 si 33<Y<=64 0 para cualquier otro valor de Y

61. Dados tres datos enteros positivos que representan las longitudes de los lados de un probable triángulo. Hacer un programa que determine si los datos corresponden a un triángulo. En caso de que sí correspondan, escribir si el triángulo es equilátero, isósceles o escaleno. Calcular además su área. Considerar que es triángulo si se cumple que la suma de los dos lados menores es mayor que la del lado mayor. Tome en cuenta además que el área de un triángulo se calcula:

(S(S-A)(S-B)(S-C))1/2. S es la mitad de la suma de los lados, es decir, S=(A+B+C)/2.

62. Pedro invierte $100 a una tasa del

8% compuesta anual. Jorge invierte $150 a una tasa de 5% compuesta anualmente. ¿Después de cuántos años la cuenta de Pedro rebasará la de Jorge? Realizar un programa que calcule los años.

63. Realizar un programa que calcule la

cantidad que tendría ahorrada después de T años, si se depositan mil pesos mensualmente a una tasa de interés mensual del R% capitalizable cada mes, es decir, que al capital se le agregan los intereses.

64. Escribir un programa que lea un

número real positivo y determine y despliegue el número de dígitos a la

Page 6: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 132

izquierda del punto decimal (sugerencia: divida repetidamente el número por 10 hasta que sea menor que 1).

65. Escriba un programa interactivo que

permita al usuario intentar hasta cuatro veces el teclear la capital de Sudáfrica. La siguiente es una corrida típica:

¿ Cuál es la capital de Sudáfrica ? El Cairo Mal, intente de nuevo. Marruecos

Mal, intente de nuevo. Johanesburgo

Correcto, lo logró en el intento 3.

Si el usuario no teclea la capital en cuatro intentos, su programa deberá indicarle la respuesta correcta.

66. El matemático italiano Leonardo

Fibonacci propuso el siguiente problema. Suponiendo que un par de conejos tiene un par de crías cada mes y cada nueva pareja se hace fértil a la edad de un mes. Si se dispone de una pareja fértil y ninguno de los conejos muertos, ¿Cuántas parejas habrá después de un año? Mejorar el problema calculando el número de meses necesario para producir un número dado de parejas de conejos.

67. La población de México en 1992 es

de 55 millones y tiene una tasa de crecimiento de 7%. Si México conserva su actual tasa de crecimiento, ¿Cuál será el primer año en que la población sea mayor de 100 millones?

68. Escribir un programa completo que

convierta una temperatura leída en grados Fahrenheit a grados Celcius, usando la formula: 5/9(F-32).

69. Escriba un programa completo que determine cuánto dinero hay en un banco que contiene n1 monedas de 50 centavos, n2 de 20 centavos, n3 de 10 centavos y n4 de 5 centavos.

70. Escriba un programa completo que

calcule todas las raíces de la ecuación cuadrática: ax2+bx+c=0 usando la formula general.

71. Escriba un programa de estilo

conversacional que acepte como entrada cada número de estudiante y sus calificaciones, determine la nota media de cada estudiante y escriba luego el número de estudiante, las notas individuales y la media calculada. Haga el programa tan general como sea posible.

72. Se trata de escribir un programa

que permita emitir la factura correspondiente a una compra de un artículo determinado del que se adquieren una o varias unidades. El IVA a aplicar es del 12% y si el precio bruto (precio venta más IVA ) es mayor de 50,000 pesetas, se debe realizar un descuento del 5%.

73. Desarrollar un programa que

imprima en pantalla un cuadro como el siguiente:

Page 7: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 133

donde el usuario debe dar las coordenadas del punto A y el punto B.

74. Diseñar un programa tal que dado el nombre de un mes y si el año es o no bisiesto, deducir el número de días del mes.

75. Realizar un programa que calcule:

Ex = 1+x+x2/2!+x3/3!+...+xn/n! para n>0 Para n dado

hasta que n sea tal que xn/n!<E

(por ejemplo, E=10-4 ).

76. Diseñar un programa que calcule la media geométrica de una lista de números: Xmed = [ X1,X2,X3...Xn]1/n

77. Diseñar un programa tal que dados

4 dígitos A, B, C, D de un entero N. Se desea redondear N a la centena más próxima. (Sólo nos dan cuatro dígitos).

78. El seno de X puede ser calculado

aproximadamente sumando los n primeros términos de la serie infinita.

Sen = x-x3/3!+x5/5!-x7/7!+... donde X se expresa en radianes.

79. Realizar un programa para calcular

el valor del seno.

80. Escribir un programa que acepte un año en cifras arábigas y visualice el año escrito en números romanos dentro del rango 1000 a 2000.

81. Elaborar un programa que lea un

valor N y que imprima un triángulo

de asteriscos, como se muestra a continuación, si el valor leído es 5:

***** ***** ***** ***** *****

ARREGLOS (VECTORES Y MATRICES)

82. Un entero n es divisible por nueve si

la suma de sus dígitos es divisible por nueve. Escriba un programa que determine si un número entero dado es divisible por nueve.

83. Escribir un procedimiento que reciba

una cadena de caracteres de longitud N y la devuelva en forma inversa (' hola ' se convierte en un ' aloh ').

84. Escribir un programa que indique si

una palabra leída del teclado es un palíndromo. Un palíndromo es una palabra que se lee igual en ambos sentidos, tal como " radar".

85. Escribir un programa que lea una

frase y a continuación visualice cada palabra de la frase en columna, seguido del número de letras que componen cada palabra.

86. Considerar 10 cartas cada una

conteniendo una secuencias de ceros y unos, cada secuencia de longitud 12, representando un número binario. Escribir un programa para determinar por cada número binario su valor decimal.

Page 8: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 134

87. Escribir un programa que calcule la frecuencia de aparición de las vocales de un texto proporcionado por el usuario. Esta solución se debe presentar en forma de histograma:

a 15 *************** e 8 ********

88. Escribir un programa que localice

todas las letras que no están presentes en una línea de texto dada y las visualice en orden alfabético.

89. Escribir un programa que lea 40

ceros y unos representando dos números binarios de 20 bits, sume esos números, y despliegue el resultado en binario. Dos números binarios pueden ser sumados dígito por dígito, desarrollando el cálculo de derecha a izquierda, casi como los números decimales. Las " reglas de adición " requeridas son: 0+0=0, 0+1=1, 1+0=1, 1+1=0 con un acarreo de 1 para la siguiente columna, y 1+1+1=1 con un acarreo de 1 para la siguiente columna.

90. Asuma por el momento que su computadora tiene capacidad muy limitada, siendo capaz de leer y escribir sólo un dígito decimal a la vez; y de sumar dos enteros consistentes de n dígitos decimales cada uno. Escriba un programa para leer dos enteros de diez dígitos , sumarlos y desplegar el resultado.

91. Un archivo de datos contiene los

cuatro dígitos, A, B, C, D, de un entero positivo N. Se desea redondear N a la centena mas

próxima y visualizar la salida. Por ejemplo, si A es 2, B es 3, C es 6 y D es 2, entonces N será 2362 y el resultado redondeado será 2400. Escriba un programa que realice lo anterior.

92. Hacer un programa que lea un

arreglo de 15 números, que pregunte si se desea introducir un número en lugar de cualquiera de los que están en el arreglo; entonces leer el número a introducir y el lugar del elemento por el que se cambiará, hacer el cambio. Imprimir el arreglo antes y después del cambio.

93. Leer 10 elementos numéricos e

introducirlos en un arreglo. A continuación, entrar en el ciclo que acepte un nuevo valor mientras se desee. Meter este valor en la posición 1 del arreglo y recorrer todos los demás a la siguiente posición. El elemento 10 se perderá, es decir, saldrá del arreglo, porque el valor que se introduce “empuja” a los demás. Cada vez que se introduzca un nuevo valor debe imprimirse todo el arreglo. Realizar el programa para el problema anterior.

94. Elaborar un programa que lea el

nombre de un obrero y las unidades producidas por éste los 30 días del mes y que, además, imprima: el nombre del obrero, la producción del día 1 hasta el día 30, el promedio de producción, el total de días por arriba del promedio, la cantidad producida más alta, y el día más productivo.

Page 9: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 135

95. Escribir un programa que lea una

serie de números enteros, los ordene en orden descendente y a continuación visualice la lista ordenada. Realizar la búsqueda secuencial y binaria del número 37.

96. Se dispone de dos vectores maestro

y esclavo, del mismo tipo y número de elementos. Se deben imprimir en dos columnas adyacentes. Se ordena el vector maestro, pero siempre que un elemento de maestro se mueva, el elemento de esclavo debe moverse también; es decir, cualquier cosa que se haga a maestro(i) debe hacerse a esclavo(i). Después de realizar la ordenación se deben imprimir de nuevo los vectores. Escribir un programa que realice esta tarea.

97. Escriba un programa que genere el

código morse equivalente a una sentencia. El código morse de cada carácter debe ser guardado en un arreglo de registros de tipo cadena.

98. Realizar un programa tal que dados

dos vectores de diferentes tamaños generar uno solo ordenado.

99. Diseñar un programa tal que dados

dos vectores y un número real obtener: producto escalar, producto vectorial y multiplicación de un real por un vector.

100. Realice un programa que

busque un número en un vector, decir cuántas veces aparece el número en el vector

101. Realice un programa que intercale dos vectores ordenados uno con N elementos y otro con M elementos. Imprimir en pantalla el tercer vector.

102. Se dispone de un vector de N

elementos. Diseñar un programa que permita insertar un valor x en el lugar k-ésimo.

103. De una frase diga cuántos

espacios en blanco hay, cuántas palabras y vocales hay y genere una nueva frase que será almacenada en un vector.

104. Diseñar un programa que

permita decir cuál es el elemento mayor y menor de un vector.

105. Diseñar un programa que

permita decir cuántos números iguales hay en un vector

106. Diseñar un programa tal que

dada una lista de calificaciones obtenga la media aritmética, la moda, la mediana y desviación típica.

107. .Realizar un programa en el

cual se defina un vector de longitud N, introduzca números pares y rote a la derecha o a la izquierda un número determinado de veces. La última componente se desplaza al primer lugar.

108. Escribir un programa que

permita obtener el número de elementos positivos de un vector.

Page 10: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 136

109. Realizar un programa en el cual se dispone de una tabla T de 50 números reales distintos de cero. Crear una nueva tabla en la que todos sus elementos resulten de dividir los elementos de la tabla T por el elemento T(K), siendo K un valor dado.

110. Se tiene una lista de N

nombres de alumnos. Escribir un programa que solicite el nombre de alumno, busque en la lista, si el nombre esta en la lista desplegarlo.

111. Escribir un programa que

quite todas las ocurrencias en un vector, ajustar adecuadamente la longitud.

112. Realice un programa que

ordene un vector al momento de pedir los datos.

113. Realice un programa que

busque un elemento en un vector ordenado considerando lo siguiente:

Pida los elementos de un vector ( ordenarlos ). Pedir el elemento a buscar. Se comienza comparando el elemento que se busca con el elemento central. Si el elemento

buscado es menor que el elemento central, entonces deberá estar en la mitad izquierda o

inferior del vector; si es mayor que el valor

central, deberá estar en la mitad derecha, y si es igual al valor central, se habrá encontrado el

elemento buscado. Este proceso se realiza varias veces ( hasta que encuentre el elemento

ó cuando ya no haya vector ).

114. Dado un número N entero

positivo y fracción y una base b, convertir el número N a la base requerida. El número se almacenará

en una variable cadena de caracteres, tienen que identificar la parte entera y la parte fraccionaria.

115. Realizar un programa que

introduzca datos pares positivos a un vector de longitud M dada por el usuario.

116. Realizar un programa tal que

dado un vector de N elementos. Pida los elementos, los despliegue desde la posición N hasta la posición 1. El vector se comportará como una pila.

117. Realizar un programa que

permita almacenar en un vector N elementos de tipo Entero. Decir cuántos son pares y cuántos son impares. Decir cuál es la posición de los pares en el vector y cuál de los impares. Al final del programa despliegue el vector con los N elementos.

118. Escriba un programa para simular la tirada de un par de dados 100 veces y para imprimir una lista que da el resultado de veces que se obtuvo cada resultado. El formato de la salida debe ser el siguiente:

2 salió ___ veces 3 salió ___ veces . . . 12 salió ___ veces

119. Escribir un programa que

visualice un cuadrado mágico de orden impar N comprendido entre 3 y 11; el usuario elige el valor de N. Un cuadrado mágico se compone de números enteros comprendidos

Page 11: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 137

entre 1 y n2. La suma de los números que figuran en cada línea, columna y cada diagonal son idénticas. Un ejemplo es:

8 1 6 3 5 7 4 9 2

120. Elaborar un programa que lea

números enteros para una matriz de 10x10, que imprima los elementos de la matriz y que al final de cada renglón imprima la suma de todos sus elementos.

121. Lo mismo que el anterior

anexando la suma por columnas y la suma total de renglones y columnas.

122. Elaborar un programa que lea

números enteros para los elementos de dos matrices de 5x5, que calcule una tercera matriz sumando los elementos de las dos anteriores. Al final imprimir las tres matrices.

123. Elaborar un programa que

genere una matriz de NXN, en la cual se asignen ceros a todos los elementos, excepto a los de la diagonal principal, donde asignará unos. Imprimir la matriz.

124. Se tiene la producción de los

7 días de la semana de 2 plantas. Elaborar un programa que lea estos datos y los almacene en un arreglo de 20 renglones, para las plantas, en 7 columnas, para cada día de producción; además, que imprima el número de planta que tuvo la mayor producción semanal.

125. Considérese la siguiente lista de países y sus capitales:

Canadá Ottawa Inglaterra Londres Francia París India Nueva Delhi Israel Jerusalén Italia Roma Japón Tokio México Cd. de México China Beijing Estados Unidos Washington Rusia Moscú Alemania Berlín

126. Escribir un programa iterativo

que acepte como entrada el nombre de un país y escriba la capital correspondiente y viceversa. Diseñar un programa para que se siga ejecutando hasta que se introduzca como entrada la palabra "fin".

127. Una matriz cuadrada A se

dice que es simétrica si A(i,j) es igual A(j,i) para todo ij dentro de los límites de la matriz. Escribir un procedimiento que decida si una matriz dada es o no simétrica.

128. Escribir un programa que

permita visualizar el triángulo de pascal, hasta un número N dado por el usuario:

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

En el triángulo de Pascal cada número es la suma de los dos situados encima de él. Este problema se debe resolver utilizando un arreglo de una sola dimensión.

Page 12: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 138

129. Diseñar un programa que genere la siguiente " pirámide " de dígitos en base a un número N dado por el usuario, usando ciclos anidados:

Ejemplo para N=10: 1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5 6 7 8 9 0 1 1 9 8 7 6 7 8 9 0 1 2 3 2 1 0 9 8 7 8 9 0 1 2 3 4 5 4 3 2 1 0 9 8 9 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 9 0 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 0

(No escriba simplemente 10 cadenas multidígito).

130. Pida cuatro palabras almacenadas cada uno en un vector de caracteres. El programa debe generar un crucigrama almacenado en una matriz. La forma de unir las palabras debe ser utilizando las vocales de las palabras.

131. Realizar un programa que

indique si una matriz de N X N forma un cuadro perfecto. Se dice que un cuadro es perfecto si la suma de cada renglón, de cada columna y las diagonales son idénticas.

132. Elaborar un programa que

encuentre la transpuesta de una matriz (At = I/del(A-1)

133. 15.Escriba un programa para

jugar gato. Represente el tablero como matriz de 3 X 3. Inicializar el arreglo con blancos y pedir a cada jugador una posición.

134. 16.Dada una matriz de N X N, pedir y desplegar los elementos. Dar la suma de las diagonales.

135. 17.Una matriz cuadrada A se

dice que es matriz identidad si tiene el valor uno en la diagonal y cero en las demás posiciones. Escriba un procedimiento que decida si una matriz dada es o no idéntica.

136. Escriba un programa que nos

permita ir almacenando los valores de una matriz de N X N en forma de espiral. Muestre los elementos de la matriz por columnas.

137. Un método de construcción

del cuadro consiste en situar el número 1 en el centro de la primera línea, el número siguiente en la casilla situada encima y a la derecha y así sucesivamente. Es preciso considerar que el cuadrado se cierra sobre si mismo; la línea encima de la primera es de hecho la última y la columna a la derecha de la última es la primera. Sin embargo, cuando la posición del número caiga en una casilla ocupada, se elige la casilla situada por debajo del número que acaba de ser situado.

138. Dada una matriz de NXM

implemente un programa para: a) Pedir los datos de la Matriz b) Ordenar descendentemente c) Mostrar datos de la matriz original y la ordenada.

139. Elabore un programa que

realice la multiplicación de dos matrices (sea la primera matriz de M X N y la segunda de N X P),

Page 13: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 139

desplegar el resultado de esa multiplicación en pantalla.

140. (Valor 10 aciertos) Escribir un programa en C que genere una tabla de valores para la ecuación:

y= 2e-0.1t seno 0.5t donde t varía entre 0 y 60. Permitir que le valor del incremento t sea introducido como un parámetro de entrada. Almacenarlos e imprimir el promedio general.

141. Diseñar un programa que

calcule la suma de los elementos de un vector.

142. En una escuela se tiene un

listado de 30 alumnos con sus respectivas notas, mostrar qué alumnos tuvieron notas mayores al promedio general.

143. Realizar un programaque le

una serie de números conprendidos entre 1 y 1000 hasta que introduzcan un número no comprendido entre esos valores. El programa debe escribir al final los valores que el usuario introdujo previamente.

144. Realizar un programa que de

una serie de valores introducidos indique el valor mayor y el menor.

145. Escribir un programa que lea

diez números, los guarde en un vector y a continuación los imprima en orden inverso a su entrada.

146. Imprimir la medio de los elementos

que se encuentran en las posiciones pares y la media de los que se

encuentra n en las posiciones impares.

MODULARIZACIÓN Y REGISTROS

147. Definir un registro que

contenga los siguientes tres miembros:

a) Una cantidad entera llamada ganados

b) Una cantidad entera llamada perdidos

c) Una cantidad real llamada porcentaje

d) Incluir el tipo de dato definido por el usuario registro dentro de la definición.

148. Definir una estructura que

contenga los siguientes miembros: a. un arreglo de 40 caracteres llamado

nombre. b. Una estructura llamada posición, del

tipo registro, definido en el problema 140.

149. Definir un registro res con los

siguientes tres miembros: a. Una cantidad entera llamada eres b. Una cantidad real llamada fres c. Una cantidad real llamada dres Posteriormente definir un registro que contenga lo siguientes campos: a. respuesta del tipo res b. indicador de tipo carácter c. a y b de tipo entero 150. Escribir un programa que

contenga la siguiente información: a. Nombre del equipo de futbol o

béisbol, incluida la ciudad b. Número de victorias

Page 14: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 140

c. Número de derrotas Para un equipo de béisbol, añadir la siguiente información: d. Número de bolas bateadas con

éxito e. Número de carreras f. Número de errores g. Número de juegos extra Para un equipo de fútbol, añadir la siguiente información: d. Número de empates e. Número de tantos f. Número de goles de campo g. Número de contraataques h. Total de yardas ganadas (total

por temporada) i. Total de yardas cedidas a los

oponentes Introducir toda la información de los equipos de una liga. Después reordenar y escribir la lista de equipos de acuerdo con su registro de victorias derrotas. Almacenar la información un arreglo de registros donde cada elemento del arreglo contiene la información para un equipo. El promedio debe calcular estadísticas.

151. Escribir un programa que a

través de un menú permita: a) Sumar dos números b) Restar dos números c) Multiplicar dos números d) Dividir dos números. e) Obtener la potencia de número. e) Salir.

152. Además de introducir dos

operandos también leer el resultado posible; permitiendo indicar si el resultado propuesto es “CORRECTO” o “INCORRECTO” para tal operación, en caso de no serlo

preguntar si lo desea conocer o volver a intentar.

153. Escribir un programa

controlado por menú que permita al usuario escoger entre calcular el área de un círculo, de un rectángulo, de un triángulo o parar. Haga que el menú se vuelva a mostrar cada vez, hasta que el usuario escoja la opción parar.

154. Escribir un programa que

haga 10 veces lo siguiente: a) Pedir al usuario una letra mayúscula

(el programa no debe continuar hasta que el usuario obedezca)

b) Llamar a un procedimiento para determinar e imprimir si la letra es una vocal o una consonante.

150. El resultado de un examen de falso

y verdadero dado a la clase de ciencias computacionales ha sido codificado para introducirlo a un programa. La información con la que se cuenta por cada estudiante consiste de un número de identificación del estudiante y las respuestas a diez preguntas de falso y verdadero. Los datos son los siguientes

Número de Identificación

Respuestas

0080 0110101101 0340 0101011100 0341 0110111111 0401 1100100111 0462 1101110010 0463 1111111111 0464 0100100101 0512 1010101111 0618 1110011010 0619 0000000000 0687 1011011010 0700 0100110001 0712 0101010101 0837 1010110101

Las respuestas correctas son: 0100100101

Page 15: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 141

149. Escriba un programa para leer los

registros, uno a la vez, calcule y guarde el número de respuestas para cada estudiante en un arreglo, así como el número de identificación del estudiante en el elemento correspondiente de otro arreglo. Determine la mejor puntuación, EXCELENTE. Después despliegue en una tabla de tres columnas el número de identificación, la puntuación y el grado de cada estudiante. El grado debe ser determinado como sigue: si la puntuación es igual a EXCELENTE o EXCELENTE-1 dé una A, si es EXCELENTE-2 dé una B o EXCELENTE-3 dé una C. En otro caso dé una F.

150. Escriba un programa de cajero

automático controlado por menú en el que se inicialice el saldo en el banco del usuario en $1000. Se trata de permitir al usuario hacer tantas transacciones como quiera a partir del menú:

1).- Deposito 2).- Retiro 3).- Ver Saldo 4).- Salir En la opción de retiro, se le debe pedir al usuario la selección entre las opciones $50. $100, $200, $500. (No permita que se haga un retiro mayor que el saldo.) Después de cada transacción, el programa debe imprimir el saldo actual. Al salir el programa debe imprimir un mensaje de cortesía. 151. Escribir un conjunto de

procedimientos para manipular un par de matrices. Debe proveer procedimientos para adición,

substracción y multiplicación. Cada procedimiento debe validar sus números de entrada antes de realizar la multiplicación de los datos.

152. Se tienen cuatro arreglos que

contienen la siguiente información: PAGO lunes viernes 1 2 500 . . .

PAGOS[i,j] represente el pago que hizo el cliente i en el día j, el arreglo será de 500 renglones y 5 columnas. COMPRAS lunes viernes 1 2 500 . . .

COMPRAS[i,j] representa la compra que hizo el cliente i en el día j. El arreglo será de 500 renglones y 5 columnas. NOMBRE [i] almacena los nombres de los clientes, El arreglo será de 500. SALDOS [i] que representa el saldo del cliente i. El arreglo será de 500. Construya el diagrama de flujo de datos y el pseudocódigo que realice lo siguiente: A) Actualizar el arreglo de SALDOS, Para esto deberá sumársele al saldo actual del

Page 16: Serie de Ejercicios2014a

Anexos:Serie de Ejercicios

Programación Estructurada 142

cliente las compras que hizo durante la semana y restarle los pagos que hizo también durante la semana. B)Obtener el día de la semana en que se hicieron más pagos. C) Indicar el nombre del cliente que hizo más compras durante la semana. 153. Una compañía almacena información

de sus proveedores en los siguiente arreglos:

PROVEE[i] representa el nombre del proveedor. CIU[i] representa la ciudad donde vive el proveedor ARTI[i,j] Expresa si el proveedor i provee el artículo j. Construya el diagrama de flujo y el programa que realice lo siguiente: A)Dado el nombre de un proveedor, informar el nombre de la ciudad donde vive y el número de artículos que provee. B) Actualizar el nombre de la ciudad, en caso de que el proveedor cambie de domicilio. Los datos serán en este caso, el nombre del proveedor y el nombre de la ciudad a la cual se mudó. C) La compañía incorpora si es posible, el límite es 100, un nuevo proveedor. Actualizar los arreglos correspondientes. D) La compañía da de baja a un proveedor. Actualice los arreglos que correspondan. 154. Diseñar un programa que efectúe lo

siguiente:

A) Lea los datos de una matriz B) Obtenga el valor más pequeño que existe en una matriz C)Obtenga el valor más grande de una matriz. D) Imprima todos los número primos almacenados en esa matriz.

155. Simule con matrices el siguiente

caso: Una lonchería vende los productos que a continuación se lista:

Producto Precio($) Tortas 4.50 Refrescos 2.00 Quesadillas 3.00 Tacos 2.00 Agua Fresca 2.50 a. Realizar un módulo para altas de

productos. b. Realizar un módulo para bajas de

productos. c. Realizar un módulo para modificaciones. d. Realizar un módulo para calcular el total

de una compra. El usuario introduce la cantidad de cada uno de los productos y su nombre, el programa debe buscar en la matriz el precio.

e. Realizar un menú con las opciones anteriores.

156. Diseñar el programa que obtenga el

factorial de un número utilizando una función recursiva.

157. Diseñar un programa que calcule la

p potencia n-ésima de un número utilizando una función recursiva.

158. Determinar el producto de n

números reales. Leer un número durante cada llamada a una función recursiva.