Page 59 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 59

2.2  PROGRAMACIÓN ESTRUCTURADA                                     35

                                            DO
                                              INPUT a, b, c
                                              r1 = 0: r2 = 0: i1 = 0: i2 = 0
                                              IF a = 0 THEN
                                                  IF b ≠ 0 THEN
                                                     r1 = –c/b
                                                  ELSE
                                                     DISPLAY “Solución trivial”
                                                  ENDIF
                                              ELSE
                                                  discr = b  – 4 * a * c
                                                           2
                                                  IF discr ≥ 0 THEN
                                                     r1 = (–b + Sqrt(discr))/(2 * a)
                                                     r2 = (–b – Sqrt(discr))/(2 * a)
                                                  ELSE
                                                     r1 = –b/(2 * a)
                                                     r2 = r1
                                                     i1 = Sqrt(Abs(discr))/(2 * a)
                                                     i2 = –i1
                                                  ENDIF
                                              ENDIF
                                              DISPLAY r1, r2, i1, i2
                                              DISPLAY ‘¿Repetir? Conteste sí o no’
                                              INPUT respuesta
                                              IF respuesta = ‘no’ EXIT
                                            ENDDO




                                            El método que se utilizó en el problema anterior puede emplearse para desarrollar
                                         un algoritmo para el problema del paracaidista. Recordemos que, dadas la condición
                                         inicial para tiempo y velocidad, el problema consistía en resolver de manera iterativa la
                                         fórmula

                                            v   = v +  v d  i  t ∆                                        (2.2)
                                             i+1  i
                                                     dt
                                         Como sabemos, para lograr una buena precisión será necesario emplear incrementos
                                         pequeños. Por lo que será necesario emplear la fórmula repetidas veces, desde el tiempo
                                         inicial hasta el tiempo final. En consecuencia, un algoritmo para resolver este problema
                                         estará basado en el uso de un loop.
                                            Supongamos, por ejemplo, que empezamos los cálculos en t = 0 y queremos prede-
                                         cir la velocidad en t = 4 s con incrementos de tiempo ∆t = 0.5 s. Entonces tendremos que
                                         aplicar la ecuación (2.2) ocho veces, esto es,
                                            n =  4  = 8
                                                05.
                                         donde n es el número de iteraciones del loop. Como este número es exacto, es decir, esta
                                         división nos da un número entero, podemos usar como base del algoritmo un loop con-
                                         trolado por contador. A continuación damos un ejemplo de seudocódigo.





                                                                                                         6/12/06   13:43:42
          Chapra-02.indd   35                                                                            6/12/06   13:43:42
          Chapra-02.indd   35
   54   55   56   57   58   59   60   61   62   63   64