You are on page 1of 16

Lineamientos de

Programación

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


Programación Estructurada

◎ Es en esencia un conjunto de reglas que


desarrollan en el programador los hábitos de un
buen estilo
◎ Un conjunto de factores y procedimientos
necesarios para desarrollar software de alta
calidad.

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


2
Programación Estructurada

◎ La idea es que cualquier algoritmo numérico


requiera tan sólo tres estructuras de control
fundamental: secuencia, selección y repetición.
◎ Para mantener una descripción general se
utilizan diagrama de flujo y pseudocódigo.

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


3
Diagrama de Flujo

◎ Es una representación gráfica o visual de un


algoritmo.
◎ Emplea una serie de cajas o bloques y flechas,
cada una de las cuales representa un
determinado paso o acción en el algoritmo.
◎ Las flechas representan el orden en el que se
ejecutan las operaciones en el algoritmo

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


4
Diagrama de Flujo
Terminal: representa el inicio o fin de un programa

Línea de Flujo: representa el flujo de la lógica

Proceso: representa cálculos o manipulación de datos

Entrada/Salida: representa la entrada o salida de información

Decisión: Representa una comparación, una pregunta o una


decisión que determina los caminos alternativos a seguir

Unión: representa la confluencia de líneas de flujo

Conexión de fin de página: representa una interrupción que


continua en otra pagina
Ciclo de cuenta controlada: se utiliza para ciclos que repiten
un númeroNuméricas
Soluciones determinado de iteraciones Ing. Elio M. Saldaña O.
para Ingenieros.
5
Métodos Numéricos para Ingenieros Dr. Martín E. Candanedo

Diagrama de flujo vs Pseudocódigo


Estructura (IF/THEN)

Verdadero
Condición
? IF condición THEN
Bloque verdadero
ENDIF
Bloque
Verdadero

Diagrama de Flujo Pseudocódigo

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


6
Métodos Numéricos para Ingenieros Dr. Martín E. Candanedo

Diagrama de flujo vs Pseudocódigo


Estructura (IF/THEN/ELSE)

Falso Condición Verdadero IF condición THEN


?
Bloque verdadero
ELSE
Bloque Falso
Bloque Bloque ENDIF
Falso Verdadero

Diagrama de Flujo Pseudocódigo

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


7
Métodos Numéricos para Ingenieros Dr. Martín E. Candanedo

Diagrama de flujo vs Pseudocódigo


Estructura (IF/THEN/ELSEIF)

Falso Condición Verdadero


? IF condición THEN
Bloque verdadero
ELSE
Bloque Falso
Bloque Bloque ENDIF
Falso Verdadero

Diagrama de Flujo Pseudocódigo

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


8
Métodos Numéricos para Ingenieros Dr. Martín E. Candanedo

Diagrama de Flujo vs Pseudocódigo


Ciclo DO EXIT o de Interrupción

Diagrama de Flujo

Bloque 1 DO
Bloque 1
IF condición EXIT
Bloque 2
Verdadero ENDO
Condició
n?

Pseudocódigo
Falso

Bloque 2

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


9
Métodos Numéricos para Ingenieros Dr. Martín E. Candanedo

Diagrama de Flujo vs Pseudocódigo


Ciclo DOFOR

Verdadero i=inicio
i> fin DOFOR i = inicio, fin, incremento
?
i= i + incr. Bloque 1
ENDO

Falso
Pseudocódigo
Bloque

Diagrama de Flujo

10
Métodos Numéricos para Ingenieros Dr. Martín E. Candanedo

Ejemplo

◎ Desarrolle el algoritmo para la solución


de la ecuación cuadrática
◎ Planteamiento del problema:
ax2+bx+c= 0
−𝑏 ± 𝑏 2 − 4𝑎𝑐
𝑥1, 𝑥2 =
2𝑎
1)Hay que solicitar los coeficientes a, b, c al usuario
2)Realizar todas las operaciones de la fórmula
cuadrática previendo la eventualidades (división por
cero y raíces complejas)
3)Dar al usuario la alternativa de repetir

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


11
Métodos Numéricos para Ingenieros Dr. Martín E. Candanedo

Ejemplo

◎Una solución general sería:


DO
INPUT a,b,c
r1= (-b+SQRT(b2-4ac))/(2a)
r2= (-b-SQRT(b2-4ac))/(2a)
DISPLAY r1, r2
DISPLAY ´Repetir? (Conteste si o no)’
INPUT respuesta
IF respuesta = ‘ no’ EXIT
ENDO
La construcción del DOEXIT se utiliza para repetir el calculo de la
solución siempre que
El usuario proporcione una respuesta falta y depende de la variable
respuesta
Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.
12
Métodos Numéricos para Ingenieros Dr. Martín E. Candanedo

Ejemplo

◎ El algoritmo anterior funciona para


ciertos casos, todavía no está completo
pues quizás no funcione para algunos
valores como:
◎ a= 0 presenta un problema pues se
genera una división por cero
◎Si a=0 y b ≠ 0, se genera una solución
lineal con solución –c/b
◎ Si a=0 y b= 0, no hay solución, el
problema es trivial

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


13
Métodos Numéricos para Ingenieros Dr. Martín E. Candanedo

Ejemplo

◎Ahora bien si a≠ 0, según sea el


discriminante, d=b2-4ac se presentan
dos casos
a) d≥ 0 hay dos raíces reales
b) d< 0 hay dos raíces complejas.

Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.


14
Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.
DO
Ejemplo
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 = b2 – 4*a*c
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 si o no’
INPUT respuesta
IF respuesta = ‘no’ EXIT
ENDDO 15
Soluciones Numéricas para Ingenieros. Ing. Elio M. Saldaña O.

16

You might also like