Ejercicios Propuestos.
1. Escribir un programa en Pascal que detecte si un n�mero introducido desde el
teclado es positivo o negativo.
2. Escribir un programa en Pascal que detecte si se han introducido en orden
creciente tres n�meros introducidos por el usuario.
3. Escribir un programa en Pascal que detecte el car�cter introducido por el
usuario.
4. Escribir un programa en Pascal que determine si un n�mero le�do desde el
teclado es par o impar
5. Escribir un programa en Pascal que detecte si un n�mero le�do desde el
teclado es mayor o menor que 100.
6. Escribir un programa en Pascal que dado un n�mero del 1 a 7 escriba el
correspondiente nombre del d�a de la semana.
7. Escribir un programa en Pascal que lea dos n�meros desde el teclado y
si el primero es mayor que el segundo intercambie sus valores.
8. Escribir un programa en Pascal que dada una calificaci�n en valor
alfab�tico (A,B,C,D � E) indique su equivalente en valor num�rico
(4,5,6,7 u 8).
9. Escribir un programa en Pascal que lea desde teclado el importe bruto
de una factura y determine el importe neto seg�n los siguientes
criterios.
Importe bruto menor de 20.000 -> sin descuento
Importe bruto mayor de 20.000 -> 15% de descuento
10. Escribir un programa en Pascal que una vez le�da una hora en
formato (horas, minutos, segundos) indique cual ser� el tiempo dentro
de un segundo.
11. 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.
Horas ordinarias (40 primeras horas de trabajo) � 2.000 Pts/hora
1.5 veces precio hora ordinaria
12. Escribir un programa en Pascal que realice un bucle con While y muestre
en pantalla del 1 al 10.
13. Escribir un programa en Pascal que realice un bucle con Repeat y muestre
en pantalla del 1 al 10.
14. Escribir un programa en Pascal que realice un bucle con For y muestre
en pantalla del 1 al 10.
15. Escribir un programa en Pascal que visualice en pantalla los n�meros
pares entre 1 y 25.
16. Escribir un programa en Pascal que visualice en pantalla los n�meros
m�ltiplos de 5 comprendidos entre 1 y 100.
17. Escribir un programa en Pascal que sume los n�meros comprendidos
entre 1 y 10.
18. Escribir un programa en Pascal que genere la tabla de multiplicar
de un n�mero introducido por el teclado.
19. 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.
20. Escribir un programa en Pascal que calcule cuantos a�os tarda en
duplicarse un capital depositado al 5% de inter�s anual.
21. Escribir un programa que calcule la suma de los n�meros hasta un
n�mero dado (introducido por el usuario).
22. Escribir un programa que pida un n�mero y si el que se introduce
por el teclado es menor de 100 que vuelva a solicitarlo.
23. Escribir un programa en Pascal que calcule el factorial de un n�mero.
24. Escribir un programa en Pascal que calcule la media de 5 n�meros
introducidos por el teclado.
25. Escribir un programa en Pascal que calcule el salario neto semanal
de un trabajador en funci�n del n�mero de horas trabajadas y la tasa
de impuestos de acuerdo a las siguientes hip�tesis.
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:
Los primeros 50 d�lares son libres de impuestos
Los siguientes 40 d�lares tienen un 25% de impuestos
Los restantes de 45% de impuestos
26. Escribir un programa en Pascal que detecte si un n�mero es primo o
no. Un n�mero es primo si s�lo es divisible por s� mismo y por la unidad.
Ejemplo: 2,3,4,7,11,17,19 son n�meros primos
9 no es n�mero primo, es divisible por 1, 9, 3
El algoritmo para resolver este problema pasa por dividir sucesivamente
el n�mero estudiado por 2,3,4, etc., hasta el propio n�mero. {Se puede
hacer �nicamente dividiento por 2,3 y 5. El 4 tambien se hace en el
ejercicio, no se quita para no liar el ejercicio, ya que son ejercicios
para aprender, ya habra tiempo de perfeccionar nuestro codigo}
27. Escribir un programa en Pascal que calcule la depreciaci�n de un objeto
seg�n el m�todode la l�nea recta. Calcular el n�mero de a�os que tarda
en hacerse 0. En este m�todo el valor original del objeto se divide por
su vida (n�mero de a�os). El cociente resultanteser� la cantidad en la
que el objeto se deprecia anualmente. Por ejemplo, si un objeto se
deprecia 8000 d�lares en diez a�os, entonces la depreciaci�nanual ser�
8000/10=800 d�lares. Por tanto, el valor del objeto habr� disminuido en
800 d�lares cada a�o. N�tese que la depreciaci�n anual es la misma cada
a�o cuando se utiliza este m�todo
28. Escribir un programa en Pascal que calcule la depreciaci�n de un objeto
seg�n el m�todo del balance doblemente declinante. En este m�todo, el
valor del objeto disminuye cada a�o en un porcentaje constante. Por
tanto, la verdadera cantidad depreciada, en d�lares, variara de un a�o
al siguiente. Para obtener el factor de depreciaci�n, dividimos por dos
la vida del objeto. Este factor se multiplica por el valor del objeto al
comienzo de cada a�o (y no el valor del original del objeto) para obtener
la depreciaci�n anual. Supongamos, por ejemplo que deseamos depreciar un
objeto de 8000 d�lares por diez a�os; el factor de depreciaci�n ser�
2/10=0.2.Por tanto, la depreciaci�n el primer a�o ser� 0,2 X 8000 = 1600
d�lares, la depreciaci�n del segundo a�o ser� 0,2 X 6400=1280 d�lares;
la depreciaci�n del tercer a�o ser� 0,2 X 5120 = 1024 d�lares, y as�
sucesivamente.
29. Escribir un programa que calcule las ra�ces de la ecuaci�n (ax2 + bx + c = 0)
teniendo en cuenta los siguientes casos:
Si a es igual a 0 y b es igual a 0, imprimiremos un mensaje diciendo que la
ecuaci�n es degenerada.
Si a es igual a 0 y b no es igual a 0, existe una ra�z �nica con valor �c/b.
En los dem�s casos, utilizaremos la f�rmula siguiente:
xi = (-b +- raizcuadrada(b2 � 4ac))/(2a)
La expresi�n d = b2 � 4ac se denomina discriminante.
Si d es mayor o igual que 0 entonces hay dos ra�ces reales
Si d es menor que 0 entonces hay dos ra�ces complejas de la forma: x+yi,x-yi.
Siendo x el valor �b/2a e y el valor absoluto de raizcuadrada(b2-4ac)/(2a)
30. Escribir un programa en Pascal que sume dos cadenas.
31. A partir de las cadenas de caracteres 70809207 y Q, construir y visualizar
en la pantalla la cadena 70809207-Q.
32. Transformar la cadena "Esto es una prueba", en la cadena "Esto es prueba".
Utilizar la funci�n DELETE(S,P,N) que elimina N caracteres de la cadena S,
a partir de la posici�n P.
33. Transformar la cadena Curso de Pascal en la cadena Curso de Programaci�n
en Pascal. Utilizar la funci�n INSERT(SO,SD,P) que inserta la cadena SO
en la cadena SD a partir de la posici�n P.
34. Transformar los valores 91 y 8631217 almacenados en dos variables de tipo
REAL en la cadena 91-8631217. Previamente transformar los dos valores
num�ricos a variables tipo cadena con la funci�n STR(X,S) que almacena en
S, como una cadena alfanum�rica, el valor X.
35. Concatenar las cadenas El, hombre, invisible en una sola el hombre invisible.
Utilizar la funci�n CONCAT (S1,S2,S3...) que retorna la concatenaci�n de
todas las cadenas pasadas como par�metros.
36. Extraer la cadena SOFIA de la cadena FILOSOIA. Utilizar la funci�n
COPY(S,P,N), que devuelve una subcadena de S, de N caracteres, el primero
de los cuales ocupa la posici�n P de S.
37. Obtener la longitud de la cadena esternocleidomastoideo, utilizando la
funci�n LENGTH(S), que devuelve la longitud de la cadena S.
38. Obtener la primera posici�n en la que comienza la subcadena fragi en la
cadena supercalifragilisticoexpialidoso. Utilizar la funci�n POS(SB,S)
que devuelve la posici�n de la primera aparici�n de la subcadena SB en
la cadena S.
39. Transformar la cadena Lenguaje Pascal en la cadena LENGUAJE PASCAL.
Utilizar la funci�n UPCASE(C) que transforma un car�cter C a may�scula
40. Transformar la cadena "VACA" en la cadena "vaca".
41. Escribir un programa en Pascal que rellene un array con los n�meros
pares comprendidos entre 1 y 10.
42. Escribir un programa en Pascal que rellene un array con los n�meros
comprendidos entre 25 y 35 divididos por 3.
43. Escribir un programa en Pascal que rellene un array con cinco
n�meros enteros consecutivos y haga una copia de ese array en otro.
44. Escribir un programa en Pascal que rellene un array de 10 elementos
con los n�meros comprendidos entre 23 y 32 y copie en otro array
esos n�meros multiplicados por 0.35.
45. Escribir un programa en Pascal que rellene un array con los veinte
primeros n�meros pares y calcule su suma.
46. Escribir un programa en Pascal que solicite cinco n�meros, los
almacene en un array y luego calcule la media aritm�tica de esos
n�meros.
47. Escribir un programa en Pascal que tras asignar los n�meros, 23,
45, 68, 99, 10, 15 y 4 a un array, determine la posici�n del array
en la que se encuentra el m�ximo valor.
48. Escribir un programa en Pascal que tras asignar los n�meros, -2, 5,
8, -9, 10, 15 y -4 a un array calcule, independientemente, la suma
de los elementos positivos y negativos.
49. Escribir un programa en Pascal que tras asignar los n�meros, 23, 45,
68, 99, 10, 15 y 4 a un array, determine las posiciones del array
en las que se encuentran el m�ximo y el m�nimo valor.
50. Escribir un programa en Pascal que determine la posici�n de la
siguiente matriz en la que se encuentra el valor m�ximo.
23 45 68
34 99 12
25 78 89
51. 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
52. Escribir un programa en Pascal que multiplique por dos los
elementos de la siguiente matriz:
4 7 8
6 9 1
5 0 3
53. Escribir un programa en Pascal que almacene en la segunda
fila de la siguiente matriz los cuadrados de los datos de la
primera fila:
3 6 7 8 9
0 0 0 0 0
54. 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 posici�n de cada fila:
3 6 7 8 9 0
1 4 3 2 7 0
55. 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 posici�n de cada columna:
3 2
4 6
8 9
0 0
56. Escribir un programa en Pascal que almacene en un array de
registros los nombres de los alumnos, sus notas parciales y
finales. Hallar la nota media y mostrar un mensaje de APTO si el
alumno supera o iguala la calificaci�n de 5 o NO APTO si no lo
alcanza. Hacerlo para un n�mero de 5 alumnos.
57. Escribir un programa en Pascal que almacene en un array de registros las
caracter�sticas de cada persona: nombre, sexo, edad, peso, color de pelo,
color de piel, color de ojos, nacionalidad y tel�fono.
|