09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

270 Capítulo 12. Arrays<br />

y<br />

Ai,j = −Aj,i = Mi,j − Mj,i<br />

, ∀i, j ∈ {1, . . . N}<br />

2<br />

16. Defina subprogramas para determinar si una matriz es simétrica y si es triangular<br />

inferior, parando cuando se detecte que no lo es.<br />

17. (a) Escriba un programa que lea los caracteres del input y efectúe una estadística<br />

de las letras que aparec<strong>en</strong>, contando la frecu<strong>en</strong>cia de cada una de<br />

ellas sin t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta si es mayúscula o minúscula.<br />

(b) Modifique el programa del apartado (a) de manera que calcule cuántas veces<br />

aparece cada par de letras contiguas <strong>en</strong> el texto.<br />

(c) Modifique el programa del apartado anterior para que se muestre también<br />

cuántas veces aparece cada trío de letras contiguas <strong>en</strong> el texto.<br />

18. Dada una matriz real de 3×3, escriba un programa que calcule:<br />

(a) Su determinante.<br />

(b) Su matriz adjunta.<br />

(c) Su matriz inversa.<br />

19. (a) Escriba un subprograma para hallar el producto de dos matrices de m × n<br />

y de n × l.<br />

(b) Escriba un subprograma que calcule la pot<strong>en</strong>cia de una matriz cuadrada de<br />

ord<strong>en</strong> n. (Obsérvese que este problema admite un algoritmo iterativo y otro<br />

recursivo, como ocurre con la pot<strong>en</strong>cia de números.)<br />

20. Un modo de averiguar el máximo elem<strong>en</strong>to de un vector V de tamaño n es el<br />

sigui<strong>en</strong>te: si el vector consta de un solo elem<strong>en</strong>to, ése es el máximo; de lo contrario,<br />

se consideran los fragm<strong>en</strong>tos V1,...,pm y Vpm+1,...,n y se averigua el máximo <strong>en</strong> cada<br />

una de sus “mitades” (mediante este mismo procedimi<strong>en</strong>to), resultando que el<br />

mayor de tales números es el de V .<br />

Desarrolle un subprograma que halle el máximo elem<strong>en</strong>to de un vector <strong>en</strong> un<br />

fragm<strong>en</strong>to dado mediante el procedimi<strong>en</strong>to descrito.<br />

21. Se ti<strong>en</strong>e una frase <strong>en</strong> un array de caracteres. Desarrolle subprogramas para averiguar<br />

los sigui<strong>en</strong>tes resultados:<br />

(a) El número de palabras que conti<strong>en</strong>e.<br />

(b) La longitud de la palabra más larga.<br />

(c) De todas las palabras, la que aparece antes <strong>en</strong> el diccionario.<br />

(Se <strong>en</strong>ti<strong>en</strong>de por palabra la secu<strong>en</strong>cia de letras seguidas, delimitadas por un<br />

carácter que no es una letra o por los límites del array.)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!