12.07.2015 Views

Introducción a la metodología de diseño descendente

Introducción a la metodología de diseño descendente

Introducción a la metodología de diseño descendente

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

© FUOC • P05/75062/00112 37 <strong>Introducción</strong> a <strong>la</strong> <strong>metodología</strong> <strong>de</strong> <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>nteEjercicios <strong>de</strong> autoevaluación1. Diseñar un algoritmo que <strong>de</strong>scubra cuántas veces aparece “LA” en una frase escrita enmayúscu<strong>la</strong>s y terminada con un punto en el canal <strong>de</strong> entrada. Por ejemplo, en <strong>la</strong> entrada tenemos<strong>la</strong> frase siguiente:BLANCA REGALA A LAIA UNA MANTA.El programa <strong>de</strong>berá dar como resultado: 3, ya que encontramos ‘LA’ en los siguientes casos:BLA 1 NCA REGALA 2 A LA 3 IA UNA MANTA.2. Dado un polígono especificado por una secuencia <strong>de</strong> vértices en el or<strong>de</strong>n <strong>de</strong> <strong>la</strong> serie <strong>de</strong> sucontorno, diseñad un algoritmo que encuentre su área. La secuencia termina con el primervértice con el que ha empezado. Como mínimo, en <strong>la</strong> entrada están los datos <strong>de</strong> un triángulo.Cada vértice se especifica por dos coor<strong>de</strong>nadas reales. Por ejemplo, si <strong>la</strong> secuencia es:3.0 3.0 2.0 6.0 7.0 11.0 12.0 9.0 3.0 3.0El polígono que representa es:Un amigo a quien le gusta <strong>la</strong> geometría nos dice que el cálculo <strong>de</strong>l área <strong>de</strong> un polígono, <strong>de</strong>scritopor sus vértices y el contorno que <strong>de</strong>limitan, se pue<strong>de</strong> calcu<strong>la</strong>r mediante <strong>la</strong> fórmu<strong>la</strong>:n( x i + 1 – x∑i ) ( y i + 1 + y i )-------------------------------------------------------2i = 1don<strong>de</strong> n es el número <strong>de</strong> aristas y cuando i = n, i + 1 es en realidad 1 (utilizar el módulo es <strong>la</strong>manera correcta <strong>de</strong> hacerlo, pero no lo ponemos para que <strong>la</strong> fórmu<strong>la</strong> tenga una mayor c<strong>la</strong>ridad).En nuestro ejemplo, el área A <strong>de</strong>l polígono sería:A = 1/2 ((2 − 3) (6 + 3) + (7 − 2) (11 + 6) + (12 − 7)(9 + 11) + (3 − 12)(3 + 9))A = 1/2 (−9 + 85 + 100 − 108) = 68/2 = 34Podría darse el caso <strong>de</strong> que el resultado fuese negativo, pero si le cambiásemos el signo el valor<strong>de</strong>l área continuaría siendo correcto. Disponemos <strong>de</strong> <strong>la</strong> función abs(r), que da el valor absoluto

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

Saved successfully!

Ooh no, something went wrong!