Upload
fernandarcos
View
126
Download
3
Embed Size (px)
DESCRIPTION
Serie de ejercicios programación
Citation preview
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.
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.
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.
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.
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
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:
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.
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.
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.
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
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.
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),
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
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
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
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.