105 Pascal Problemas
105 Pascal Problemas
105 Pascal Problemas
1. 2. 3. Escribir un programa en Pascal que sume dos nmeros: a=4b=3 Escribir un programa en Pascal que sume, reste, multiplique y divida dos nmeros: x = 10 y = 2 Escribir un programa en Pascal que calcule el rea de un rectngulo: lado1 = 3 lado2 = 4 rea del rectngulo=lado1 * lado2 Escribir un programa en Pascal que calcule el rea de un tringulo: base = 7 altura = 4 rea del tringulo = (base * altura)/2
4.
7.
21. Escribir un programa en Pascal que calcula el equivalente en grados Fahrenheit o Celsius de las
siguientes temperaturas. Temperatura 1 = 32 Fahrenheit Temperatura 2 = 10 Celsius {Regla de 3: Celsius / 5 = (Fahrenheit 32) 9}
22. Escribir un programa en Pascal que calcule el nmero de horas, minutos y segundos que hay en
3700 segundos.
23. Escribir un programa en Pascal que calcule el capital producido por un capital de 1.000.000 de
pesetas, al cabo de un ao depositado a un inters del 2%.
24. Escribir un programa en Pascal que calcula la siguiente expresin trigonomtrica para un valor
angular de 90 (sen x * cos x)/(tan x)
25. Escribir un programa en Pascal que calcule el equivalente en pies de una longitud de 10 metros.
1 metro -------------39.27 pulgadas 12 pulgadas --------1 pie
26. Escribir un programa en Pascal que calcule el rea de un rectngulo a partir de sus coordenadas:
x1 = 10 x2 = 20 y1 = 10 y2 = 20
27. Un coche se mueve, partiendo del reposo, con una aceleracin constante de 8 m/s2. Escribir un
programa en Pascal que calcule: a. La velocidad instantnea al cabo de5 segundos.
28. Un cohete se lanza verticalmente con una velocidad de 500 m7s calcular la velocidad al cabo de
40 segundos mediante un programa en Pascal
velocidad instantnea = (velocidad inicial) (aceleracin de la gravedad * tiempo)
ESTRUCTURAS DE DECISIN (IF...THEN..ELSE, CASE ... OF.) 30. Escribir un programa en Pascal que detecte si un nmero introducido desde el teclado es positivo
o negativo.
31. Escribir un programa en Pascal que detecte si se han introducido en orden creciente tres nmeros
introducidos por el usuario. 32. Escribir un programa en Pascal que detecte el carcter introducido por el usuario.
33. Escribir un programa en Pascal que determine si un nmero ledo desde el teclado es par o impar 34. Escribir un programa en Pascal que detecte si un nmero ledo desde el teclado es mayor o
menor que 100.
35. Escribir un programa en Pascal que dado un nmero del 1 a 7 escriba el correspondiente nombre
del da de la semana.
36. Escribir un programa en Pascal que lea dos nmeros desde el teclado y si el primero es mayor
que el segundo intercambie sus valores. 37. Escribir un programa en Pascal que dada una calificacin en valor alfabtico(A,B,C,D E) indique su equivalente en valor numrico (4,5,6,7 u 8).
38. Escribir un programa en Pascal que lea desde teclado el importe bruto de una factura y determine
el importe neto segn los siguientes criterios. a) Importe bruto menor de 20.000 -> sin descuento
39. Escribir un programa en Pascal que una vez leda una hora en formato (horas, minutos,
segundos) indique cual ser el tiempo dentro de un segundo.
40. Escribir un programa en Pascal que calcule el salario semanal de un trabajador en base a las
horas trabajadas y el pago por hora trabajada. a) Horas ordinarias (40 primeras horas de trabajo) 2.000 Pts/hora
41. Escribir un programa que calcule las races de la ecuacin (ax2 + bx + c = 0) teniendo en cuenta
los siguientes casos:
a. b.
Si a es igual a 0 y b es igual a 0, imprimiremos un mensaje diciendo que la ecuacin es degenerada. Si a es igual a 0 y b no es igual a 0, existe una raz nica con valor c/b.
42. Escribir un programa en Pascal que calcule el salario neto semanal de un trabajador en funcin
del nmero de horas trabajadas y la tasa de impuestos de acuerdo a las siguientes hiptesis. Las primeras 35 horas se pagan a tarifa normal Las horas que pasen de 35 se pagan 1.5 veces la tarifa normal Las tasas de impuestos son: a) Los primeros 50 dlares son libres de impuestos
b) Los siguientes 40 dlares tienen un 25% de impuestos c) Los restantes de 45% de impuestos
43. Escribir un programa en Pascal que lea 4 datos, calcule y visualice en pantalla su producto, suma y media aritmtica. 44. Escribir un programa en Pascal que lea un peso en libras y a continuacin visualice su equivalente en kilos y en gramos. 1 libra = 0.45 Kg 45. Escribir un programa en Pascal que calcule el importe de una factura sabiendo que el IVA a aplicar es del 12% y que si el importe bruto de la factura es superior a 50.000 pts se debe realizar un descuento del 5%. 46. Escribir un programa en Pascal que visualice una tabla de conversin de kilmetros a millas marinas y millas terrestres: a. b. 1 milla marina = 1852 metros 1 milla terrestre = 1609 metros
47. Escribir un programa en Pascal que calcule el sueldo semanal de un trabajador a partir del nmero de horas trabajadas por da y las siguientes tarifas: a. b. c. 600 pts/hora Turno de maana 800 pts/hora Turno de noche 1000 pts/hora Turno de das festivos
ESTRUCTURAS DE REPETICIN (FOR DO, REPEAT..UNTIL, DO..WHILE) 48. Escribir un programa en Pascal que realice un bucle con While y muestre en pantalla del 1 al 10.
49. Escribir un programa en Pascal que realice un bucle con Repeat y muestre en pantalla del 1 al
10.
50. Escribir un programa en Pascal que realice un bucle con For y muestre en pantalla del 1 al 10. 51. Escribir un programa en Pascal que visualice en pantalla los nmeros pares entre 1 y 25. 52. Escribir un programa en Pascal que visualice en pantalla los nmeros mltiplos de 5
comprendidos entre 1 y 100. 53. Escribir un programa en Pascal que sume los nmeros comprendidos entre 1 y 10.
54. Escribir un programa en Pascal que genere la tabla de multiplicar de un nmero introducido por
el teclado.
55. Escribir un programa en Pascal que realice la pregunta Desea continuar S/N? y que no deje de
hacerla hasta que el usuario teclee N.
56. Escribir un programa en Pascal que calcule cuantos aos tarda en duplicarse un capital
depositado al 5% de inters anual
57. Escribir un programa que calcule la suma de los nmeros hasta un nmero dado (introducido por
el usuario).
58. Escribir un programa que pida un nmero y si el que se introduce por el teclado es menor de 100
que vuelva a solicitarlo. 59. Escribir un programa en Pascal que calcule el factorial de un nmero.
60. Escribir un programa en Pascal que calcule la media de 5 nmeros introducidos por el teclado. 61. Escribir un programa en Pascal que escriba los nmeros comprendidos entre 1 y 1000. El
programa escribir en la pantalla los nmeros en grupos de 20, solicitando al usuario si quiere o no continuar visualizando el siguiente grupo de nmeros. 62. Escribir un programa en Pascal que calcule, independientemente, la suma y la media de los nmeros pares e impares comprendidos entre 1 y 200. 63. Escribir un programa en Pascal que calcule la suma de los cuadrados de los 100 primeros nmeros enteros. 64. Escribir un programa en Pascal que lea 10 datos desde el teclado y sume slo aquellos que sean negativos.
65. Escribir un programa en Pascal que detecte si un nmero es primo o no. Un nmero es primo si
slo es divisible por s mismo y por la unidad. Ejemplo: 2,3,4,7,11,17,19 son nmeros primos 9 no es nmero primo, es divisible por 1, 9, 3. El algoritmo para resolver este problema pasa por dividir sucesivamente el nmero estudiado por 2,3,4, etc., hasta el propio nmero.
66. Escribir un programa en Pascal que calcule la depreciacin de un objeto segn el mtodo de la
lnea recta. Calcular el nmero de aos que tarda en hacerse 0. En este mtodo el valor original del objeto se divide por su vida (nmero de aos). El cociente resultante ser la cantidad en la que el objeto se deprecia anualmente. Por ejemplo, si un objeto se deprecia 8000 dlares en diez aos, entonces la depreciacin anual ser 8000/10=800 dlares. Por tanto, el valor del objeto habr disminuido en 800 dlares
cada ao. Ntese que la depreciacin anual es la misma cada ao cuando se utiliza este mtodo.
67. Escribir un programa en Pascal que calcule la depreciacin de un objeto segn el mtodo del
balance doblemente declinante. En este mtodo, el valor del objeto disminuye cada ao en un porcentaje constante. Por tanto, la verdadera cantidad depreciada, en dlares, variara de un ao al siguiente. Para obtener el factor de depreciacin, dividimos por dos la vida del objeto. Este factor se multiplica por el valor del objeto al comienzo de cada ao (y no el valor del original del objeto) para obtener la depreciacin anual. Supongamos, por ejemplo que deseamos depreciar un objeto de 8000 dlares por diez aos; el factor de depreciacin ser 2/10=0.2. Por tanto, la depreciacin el primer ao ser 0,2 X 8000 = 1600 dlares, la depreciacin del segundo ao ser 0,2 X 6400=1280 dlares; la depreciacin del tercer ao ser 0,2 X 5120 = 1024 dlares, y as sucesivamente.
OPERACIONES SOBRE CADENAS DE CARACTERES (STRINGS) 68. Escribir un programa en Pascal que sume dos cadenas. (los datos vienen en el cuerpo del
ejercicio).
70. Transformar la cadena Esto es una prueba, en la cadena Esto es prueba. Utilizar la funcin
DELETE(S,P,N) que elimina N caracteres de la cadena S, a partir de la posicin P.
71. Transformar la cadena Curso de Pascal en la cadena Curso de Programacin en Pascal. Utilizar
la funcin INSERT(SO,SD,P) que inserta la cadena SO en la cadena SD a partir de la posicin P.
72. Transformar los valores 91 y 8631217 almacenados en dos variables de tipo REAL en la cadena
91-8631217. Previamente transformar los dos valores numricos a variables tipo cadena con la funcin STR(X,S) que almacena en S, como una cadena alfanumrica, el valor X.
73. Concatenar las cadenas El, hombre, invisible en una sola el hombre invisible. Utilizar la funcin
CONCAT (S1,S2,S3...) que retorna la concatenacin de todas las cadenas pasadas como parmetros.
74. Extraer la cadena SOFIA de la cadena FILOSOIA. Utilizar la funcin COPY(S,P,N), que
devuelve una subcadena de S, de N caracteres, el primero de los cuales ocupa la posicin P de S.
77. Transformar la cadena Lenguaje Pascal en la cadena LENGUAJE PASCAL. Utilizar la funcin
UPCASE(C) que transforma un carcter C a mayscula. 78. Transformar la cadena VACA en la cadena vaca. 79. Escribir un programa en Pascal que cuente las maysculas de una cadena de caracteres.
80. Escribir un programa en Pascal que cambie las maysculas de una cadena de caracteres a minsculas y viceversa. 81. Escribir un programa en Pascal que encripte una cadena de caracteres sumando 2 al cdigo ASCII de cada uno de sus caracteres. 82. Escribir un programa en Pascal que encripte los caracteres de una cadena sumando 2 a los que situados en posiciones pares y 3 a los situados en posiciones impares.
ARREGLOS 83. Escribir un programa en Pascal que rellene un array con los nmeros enteros comprendidos entre
4 y 14.
84. Escribir un programa en Pascal que rellene un array con los nmeros pares comprendidos entre 1
y 10.
85. Escribir un programa en Pascal que rellene un array con los nmeros comprendidos entre 25 y
35 divididos por 3.
86. Escribir un programa en Pascal que rellene un array con cinco nmeros enteros consecutivos y
haga una copia de ese array en otro.
87. Escribir un programa en Pascal que rellene un array de 10 elementos con los nmeros
comprendidos entre 23 y 32 y copie en otro array esos nmeros multiplicados por 0.35.
88. Escribir un programa en Pascal que rellene un array con los veinte primeros nmeros pares y
calcule su suma.
89. Escribir un programa en Pascal que solicite cinco nmeros, los almacene en un array y luego
calcule la media aritmtica de esos nmeros.
90. Escribir un programa en Pascal que tras asignar los nmeros, 23, 45, 68, 99, 10, 15 y 4 a un
array, determine la posicin del array en la que se encuentra el mximo valor.
91. Escribir un programa en Pascal que tras asignar los nmeros, -2, 5, 8, -9, 10, 15 y 4 a un array
calcule, independientemente, la suma de los elementos positivos y negativos.
92. Escribir un programa en Pascal que tras asignar los nmeros, 23, 45, 68, 99, 10, 15 y 4 a un
array, determine las posiciones del array en las que se encuentran el mximo y el mnimo valor. 93. Escribir un programa en Pascal que almacene en un array los nmeros primos comprendidos entre 1 y 100. 94. Escribir un programa en Pascal que genera la inversa de una cadena de caracteres. La cadena original y la invertida deben almacenarse en arrays independientes. 95. Escribir un programa en Pascal que elimine los blancos de una cadena de caracteres. La cadena original y la transformada deben almacenarse en arrays independientes.
MATRICES 96. Escribir un programa en Pascal que determine la posicin de la siguiente matriz en la que se
encuentra el valor mximo. 23 45 68 34 99 12 25 78 89
97. Escribir un programa en Pascal que sume, independientemente, los elementos positivos y
negativos de la siguiente matriz: -12 23 32 45 -56 -10 25 78 89
98. Escribir un programa en Pascal que multiplique por dos los elementos de la siguiente matriz:
478 691 503
99. Escribir un programa en Pascal que almacene en la segunda fila de la siguiente matriz los
cuadrados de los datos de la primera fila: 36789 00000
100. Escribir un programa en Pascal que sume los datos de cada una de las filas de la siguiente
matriz; el resultado se almacenar en la ltima posicin de cada fila: 367890 143270
101. Escribir un programa en Pascal que sume los datos de cada una de las columnas de la siguiente
matriz; el resultado se almacenar en la ltima posicin de cada columna: 32 46 89 00
102. Escribir un programa en Pascal que sume los elementos de cada una de las filas y de las
columnas de la siguiente matriz; el resultado de cada suma se almacenar en la ltima posicin de la fila o columna correspondiente. Adems la suma total de todos los elementos de la matriz se almacenar en el elemento de la esquina inferior derecha de la matriz: 170 560 640 730 000
103. Escribir un programa en Pascal que divida todos los elementos de una matriz M(3,4) por el
elemento situado en la posicin 2,2.
104. Escribir un programa en Pascal que genera la matriz transpuesta de una matriz de 3 filas y 4
columnas. La matriz transpuesta de una matriz M(m,n) se obtiene intercambiando filas por
columnas y viceversa; el resultado se tiene que almacenar en una nueva matriz M_TRANS(n,m).
105. Escribir un programa en Pascal que sume dos matrices bidimensionales. Las matrices para que
puedan sumarse deben tener las mismas dimensiones.